[llvm-commits] CVS: llvm/lib/Transforms/Scalar/InstructionCombining.cpp

Chris Lattner lattner at cs.uiuc.edu
Sun Aug 1 12:43:09 PDT 2004



Changes in directory llvm/lib/Transforms/Scalar:

InstructionCombining.cpp updated: 1.235 -> 1.236

---
Log message:

Fix a regression in InstCombine/xor.ll


---
Diffs of the changes:  (+2 -2)

Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp
diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.235 llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.236
--- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.235	Fri Jul 30 07:50:08 2004
+++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp	Sun Aug  1 14:42:59 2004
@@ -1343,11 +1343,11 @@
         return ReplaceInstUsesWith(I, Op0I->getOperand(0));
     }
 
-  // (A & C1)^(B & C2) -> (A & C1)|(B & C2) iff C1^C2 == 0
+  // (A & C1)^(B & C2) -> (A & C1)|(B & C2) iff C1&C2 == 0
   Value *A, *B; ConstantInt *C1, *C2;
   if (match(Op0, m_And(m_Value(A), m_ConstantInt(C1))) &&
       match(Op1, m_And(m_Value(B), m_ConstantInt(C2))) &&
-      ConstantExpr::getXor(C1, C2)->isNullValue())
+      ConstantExpr::getAnd(C1, C2)->isNullValue())
     return BinaryOperator::createOr(Op0, Op1);
 
   // (setcc1 A, B) ^ (setcc2 A, B) --> (setcc3 A, B)





More information about the llvm-commits mailing list