From 00ae1a2f02adf120d996caf5657c901436614037 Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Sat, 21 Jul 2007 00:34:29 +0000 Subject: [PATCH] Apply temporary work around to fix llvm mis-compilation 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 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index 792d615363f..564b98165df 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -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)