diff options
author | Evan Cheng <evan.cheng@apple.com> | 2009-11-14 03:42:17 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2009-11-14 03:42:17 +0000 |
commit | fae3e923452b85e72b2c03dd6eacc063f59d81b1 (patch) | |
tree | de568e1d845536244f6625a40721d7b3243b8b92 /lib/CodeGen/VirtRegRewriter.cpp | |
parent | d57cdd5683ea926e489067364fb7ffe5fd5d35ee (diff) | |
download | external_llvm-fae3e923452b85e72b2c03dd6eacc063f59d81b1.tar.gz external_llvm-fae3e923452b85e72b2c03dd6eacc063f59d81b1.tar.bz2 external_llvm-fae3e923452b85e72b2c03dd6eacc063f59d81b1.zip |
Added getSubRegIndex(A,B) that returns subreg index of A to B. Use it to replace broken code in VirtRegRewriter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88753 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/VirtRegRewriter.cpp')
-rw-r--r-- | lib/CodeGen/VirtRegRewriter.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/lib/CodeGen/VirtRegRewriter.cpp b/lib/CodeGen/VirtRegRewriter.cpp index a70cdaf09e..ec0abd137d 100644 --- a/lib/CodeGen/VirtRegRewriter.cpp +++ b/lib/CodeGen/VirtRegRewriter.cpp @@ -841,11 +841,8 @@ unsigned ReuseInfo::GetRegForReload(const TargetRegisterClass *RC, "A reuse cannot be a virtual register"); if (PRRU != RealPhysRegUsed) { // What was the sub-register index? - unsigned SubReg; - for (SubIdx = 1; (SubReg = TRI->getSubReg(PRRU, SubIdx)); SubIdx++) - if (SubReg == RealPhysRegUsed) - break; - assert(SubReg == RealPhysRegUsed && + SubIdx = TRI->getSubRegIndex(PRRU, RealPhysRegUsed); + assert(SubIdx && "Operand physreg is not a sub-register of PhysRegUsed"); } |