summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2010-03-10 15:06:26 +0000
committerDale Johannesen <dalej@apple.com>2010-03-10 15:06:26 +0000
commit8340cc0d6c5f815eb09fff54e99a7a6ac739a5c8 (patch)
treec1dd8eef8bf340b85ae41e211b674f65ab41dde0 /llvm/lib
parente81620fb880b1e4c136ff44f30ea8a552a942d06 (diff)
downloadbcm5719-llvm-8340cc0d6c5f815eb09fff54e99a7a6ac739a5c8.tar.gz
bcm5719-llvm-8340cc0d6c5f815eb09fff54e99a7a6ac739a5c8.zip
Fix a bug in DEBUG_VALUE handling Devang ran into.
I'll get this loop right yet. llvm-svn: 98155
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/CodeGen/LiveIntervalAnalysis.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
index ccda66f0054..f8b17074595 100644
--- a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
+++ b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
@@ -593,13 +593,10 @@ void LiveIntervals::handleLiveInRegister(MachineBasicBlock *MBB,
MachineBasicBlock::iterator E = MBB->end();
while (mi != E) {
- if (mi->isDebugValue()) {
+ while (mi != E && mi->isDebugValue())
++mi;
- if (mi != E && !mi->isDebugValue()) {
- baseIndex = indexes_->getNextNonNullIndex(baseIndex);
- }
- continue;
- }
+ if (mi == E)
+ break;
if (mi->killsRegister(interval.reg, tri_)) {
DEBUG(dbgs() << " killed");
end = baseIndex.getDefIndex();
OpenPOWER on IntegriCloud