Apply temporary work around to fix llvm mis-compilation
authorDevang Patel <dpatel@apple.com>
Sat, 21 Jul 2007 00:34:29 +0000 (00:34 +0000)
committerDevang Patel <dpatel@apple.com>
Sat, 21 Jul 2007 00:34:29 +0000 (00:34 +0000)
reported in PR 1556.

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

lib/Transforms/Scalar/InstructionCombining.cpp

index 792d615363f4dadf6781fb43dbe1d10d89483c0e..564b98165df333ab64ba165a03cf49f2ed0add03 100644 (file)
@@ -3872,7 +3872,9 @@ Instruction *InstCombiner::visitOr(BinaryOperator &I) {
       }
       
       // (V1 & V3)|(V2 & ~V3) -> ((V1 ^ V2) & V3) ^ V2
-      if (isOnlyUse(Op0) && isOnlyUse(Op1)) {
+      // Disable this transformations temporarily. This causes
+      // mis-compilation when V2 is undefined.
+      if (0 && isOnlyUse(Op0) && isOnlyUse(Op1)) {
         // Try all combination of terms to find V3 and ~V3.
         if (A->hasOneUse() && match(A, m_Not(m_Value(V3)))) {
           if (V3 == B)