fix a subtle bug I introduced when refactoring SCCP. Testcase
authorChris Lattner <sabre@nondot.org>
Tue, 3 Nov 2009 16:50:11 +0000 (16:50 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 3 Nov 2009 16:50:11 +0000 (16:50 +0000)
to follow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85903 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/SCCP.cpp

index fb6101b0b99d8f99305fd80e232b34ba207b003f..2ee4bbc95b17f54f54928ef4d63b625b2f63871b 100644 (file)
@@ -107,7 +107,7 @@ public:
 
   /// markConstant - Return true if this is a change in status.
   bool markConstant(Constant *V) {
-    if (isConstant()) {
+    if (getLatticeValue() == constant) { // Constant but not forcedconstant.
       assert(getConstant() == V && "Marking constant with different value");
       return false;
     }