Fix bug in previous checkin
[oota-llvm.git] / lib / Transforms / Scalar / InstructionCombining.cpp
index 978a3db7387f2dd0975a19a0d2ae5bd308a3341b..14e2c70a8c9b6b1495c2e8eab931fa2feb534fd0 100644 (file)
@@ -768,7 +768,9 @@ Instruction *InstCombiner::OptAndOp(Instruction *Op,
                                     ConstantIntegral *AndRHS,
                                     BinaryOperator &TheAnd) {
   Value *X = Op->getOperand(0);
-  Constant *Together = ConstantExpr::get(Instruction::And, AndRHS, OpRHS);
+  Constant *Together = 0;
+  if (!isa<ShiftInst>(Op))
+    Together = ConstantExpr::get(Instruction::And, AndRHS, OpRHS);
 
   switch (Op->getOpcode()) {
   case Instruction::Xor: