diff options
author | Evan Cheng <evan.cheng@apple.com> | 2011-04-11 18:47:20 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2011-04-11 18:47:20 +0000 |
commit | fe917efc8b5e163aee4a0470196523bc0876cffd (patch) | |
tree | d3f95c07cb5e0469ae58e30d5dbd9ecb66ee5792 /llvm/lib/CodeGen/MachineCSE.cpp | |
parent | 66fab75920853018efc5e03d91619ace4abc628a (diff) | |
download | bcm5719-llvm-fe917efc8b5e163aee4a0470196523bc0876cffd.tar.gz bcm5719-llvm-fe917efc8b5e163aee4a0470196523bc0876cffd.zip |
Fix a couple of places where changes are made but not tracked.
llvm-svn: 129287
Diffstat (limited to 'llvm/lib/CodeGen/MachineCSE.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MachineCSE.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/MachineCSE.cpp b/llvm/lib/CodeGen/MachineCSE.cpp index 07a7d27b019..f97ccf65790 100644 --- a/llvm/lib/CodeGen/MachineCSE.cpp +++ b/llvm/lib/CodeGen/MachineCSE.cpp @@ -365,6 +365,8 @@ bool MachineCSE::ProcessBlock(MachineBasicBlock *MBB) { if (!FoundCSE) { // Look for trivial copy coalescing opportunities. if (PerformTrivialCoalescing(MI, MBB)) { + Changed = true; + // After coalescing MI itself may become a copy. if (MI->isCopyLike()) continue; @@ -379,10 +381,11 @@ bool MachineCSE::ProcessBlock(MachineBasicBlock *MBB) { if (NewMI) { Commuted = true; FoundCSE = VNT.count(NewMI); - if (NewMI != MI) + if (NewMI != MI) { // New instruction. It doesn't need to be kept. NewMI->eraseFromParent(); - else if (!FoundCSE) + Changed = true; + } else if (!FoundCSE) // MI was changed but it didn't help, commute it back! (void)TII->commuteInstruction(MI); } @@ -450,6 +453,7 @@ bool MachineCSE::ProcessBlock(MachineBasicBlock *MBB) { ++NumPhysCSEs; if (Commuted) ++NumCommutes; + Changed = true; } else { DEBUG(dbgs() << "*** Not profitable, avoid CSE!\n"); VNT.insert(MI, CurrVN++); |