[llvm-commits] CVS: llvm/lib/Transforms/Scalar/ADCE.cpp
Chris Lattner
lattner at cs.uiuc.edu
Fri Apr 25 17:54:07 PDT 2003
Changes in directory llvm/lib/Transforms/Scalar:
ADCE.cpp updated: 1.51 -> 1.52
---
Log message:
Fix bug: ADCE/2003-04-25-PHIPostDominateProblem.ll
---
Diffs of the changes:
Index: llvm/lib/Transforms/Scalar/ADCE.cpp
diff -u llvm/lib/Transforms/Scalar/ADCE.cpp:1.51 llvm/lib/Transforms/Scalar/ADCE.cpp:1.52
--- llvm/lib/Transforms/Scalar/ADCE.cpp:1.51 Wed Apr 23 11:37:42 2003
+++ llvm/lib/Transforms/Scalar/ADCE.cpp Fri Apr 25 17:53:27 2003
@@ -310,15 +310,16 @@
// should be identical to the incoming values for LastDead.
//
for (BasicBlock::iterator II = NextAlive->begin();
- PHINode *PN = dyn_cast<PHINode>(II); ++II) {
- // Get the incoming value for LastDead...
- int OldIdx = PN->getBasicBlockIndex(LastDead);
- assert(OldIdx != -1 && "LastDead is not a pred of NextAlive!");
- Value *InVal = PN->getIncomingValue(OldIdx);
-
- // Add an incoming value for BB now...
- PN->addIncoming(InVal, BB);
- }
+ PHINode *PN = dyn_cast<PHINode>(II); ++II)
+ if (LiveSet.count(PN)) { // Only modify live phi nodes
+ // Get the incoming value for LastDead...
+ int OldIdx = PN->getBasicBlockIndex(LastDead);
+ assert(OldIdx != -1 &&"LastDead is not a pred of NextAlive!");
+ Value *InVal = PN->getIncomingValue(OldIdx);
+
+ // Add an incoming value for BB now...
+ PN->addIncoming(InVal, BB);
+ }
}
}
More information about the llvm-commits
mailing list