diff options
| author | Roman Divacky <rdivacky@FreeBSD.org> | 2010-03-16 16:51:38 +0000 | 
|---|---|---|
| committer | Roman Divacky <rdivacky@FreeBSD.org> | 2010-03-16 16:51:38 +0000 | 
| commit | c69102774f9739c81ae1285ed9ae62405071c63c (patch) | |
| tree | 458dd25677a43aef6390ecadb4423817f00e08b0 /lib/CodeGen/MachineCSE.cpp | |
| parent | ea5b2dd11c0526581803e7eb58224a2eabf191e6 (diff) | |
Notes
Diffstat (limited to 'lib/CodeGen/MachineCSE.cpp')
| -rw-r--r-- | lib/CodeGen/MachineCSE.cpp | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/CodeGen/MachineCSE.cpp b/lib/CodeGen/MachineCSE.cpp index ce95d8d05ea6..91d363588295 100644 --- a/lib/CodeGen/MachineCSE.cpp +++ b/lib/CodeGen/MachineCSE.cpp @@ -122,8 +122,12 @@ bool MachineCSE::isPhysDefTriviallyDead(unsigned Reg,        // Reached end of block, register is obviously dead.        return true; -    if (I->isDebugValue()) +    if (I->isDebugValue()) { +      // These must not count against the limit. +      ++LookAheadLeft; +      ++I;        continue; +    }      bool SeenDef = false;      for (unsigned i = 0, e = I->getNumOperands(); i != e; ++i) {        const MachineOperand &MO = I->getOperand(i); @@ -188,7 +192,7 @@ static bool isCopy(const MachineInstr *MI, const TargetInstrInfo *TII) {  bool MachineCSE::isCSECandidate(MachineInstr *MI) {    if (MI->isLabel() || MI->isPHI() || MI->isImplicitDef() || -      MI->isKill() || MI->isInlineAsm()) +      MI->isKill() || MI->isInlineAsm() || MI->isDebugValue())      return false;    // Ignore copies.  | 
