summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/VirtRegRewriter.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2009-11-14 03:42:17 +0000
committerEvan Cheng <evan.cheng@apple.com>2009-11-14 03:42:17 +0000
commit16797a1f557ce36bb04c8533642be9e0ff11a4d6 (patch)
treef2ef78acaaa09b7ee2dcff603fe31d39eaa46020 /llvm/lib/CodeGen/VirtRegRewriter.cpp
parentc9827d1ad36b9dcffb53f2cea82aec5e7e6636bf (diff)
downloadbcm5719-llvm-16797a1f557ce36bb04c8533642be9e0ff11a4d6.tar.gz
bcm5719-llvm-16797a1f557ce36bb04c8533642be9e0ff11a4d6.zip
Added getSubRegIndex(A,B) that returns subreg index of A to B. Use it to replace broken code in VirtRegRewriter.
llvm-svn: 88753
Diffstat (limited to 'llvm/lib/CodeGen/VirtRegRewriter.cpp')
-rw-r--r--llvm/lib/CodeGen/VirtRegRewriter.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/llvm/lib/CodeGen/VirtRegRewriter.cpp b/llvm/lib/CodeGen/VirtRegRewriter.cpp
index a70cdaf09e4..ec0abd137d6 100644
--- a/llvm/lib/CodeGen/VirtRegRewriter.cpp
+++ b/llvm/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");
}
OpenPOWER on IntegriCloud