[llvm-commits] CVS: llvm/lib/Transforms/Scalar/SCCP.cpp
Chris Lattner
lattner at cs.uiuc.edu
Tue Jun 24 15:31:01 PDT 2003
Changes in directory llvm/lib/Transforms/Scalar:
SCCP.cpp updated: 1.69 -> 1.70
---
Log message:
Fix bug: SCCP/2003-06-24-OverdefinedPHIValue.ll
---
Diffs of the changes:
Index: llvm/lib/Transforms/Scalar/SCCP.cpp
diff -u llvm/lib/Transforms/Scalar/SCCP.cpp:1.69 llvm/lib/Transforms/Scalar/SCCP.cpp:1.70
--- llvm/lib/Transforms/Scalar/SCCP.cpp:1.69 Tue May 20 16:01:16 2003
+++ llvm/lib/Transforms/Scalar/SCCP.cpp Tue Jun 24 15:29:52 2003
@@ -420,12 +420,13 @@
for (unsigned i = 0, e = PN.getNumIncomingValues(); i != e; ++i) {
InstVal &IV = getValueState(PN.getIncomingValue(i));
if (IV.isUndefined()) continue; // Doesn't influence PHI node.
- if (IV.isOverdefined()) { // PHI node becomes overdefined!
- markOverdefined(&PN);
- return;
- }
if (isEdgeFeasible(PN.getIncomingBlock(i), PN.getParent())) {
+ if (IV.isOverdefined()) { // PHI node becomes overdefined!
+ markOverdefined(&PN);
+ return;
+ }
+
if (OperandVal == 0) { // Grab the first value...
OperandVal = IV.getConstant();
} else { // Another value is being merged in!
More information about the llvm-commits
mailing list