Don't use ConstantExpr::getShift anymore
authorChris Lattner <sabre@nondot.org>
Mon, 12 Jan 2004 19:08:43 +0000 (19:08 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 12 Jan 2004 19:08:43 +0000 (19:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10791 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AsmParser/llvmAsmParser.y
lib/Bytecode/Reader/ConstantReader.cpp
lib/Transforms/Scalar/SCCP.cpp

index 600ce480a35622c3529f90c8c101ca1643b788e9..a63c19abd35b194ee23347f04c3bedb4b05716ab 100644 (file)
@@ -1218,7 +1218,7 @@ ConstExpr: CAST '(' ConstVal TO Types ')' {
       ThrowException("Shift count for shift constant must be unsigned byte!");
     if (!$3->getType()->isInteger())
       ThrowException("Shift constant expression requires integer operand!");
-    $$ = ConstantExpr::getShift($1, $3, $5);
+    $$ = ConstantExpr::get($1, $3, $5);
   };
 
 
index 3d5ffd452e6c76887f520d53dc5da939d7736c65..660566b26643367cf90733400cd7e3f5ed96d017 100644 (file)
@@ -182,8 +182,6 @@ Constant *BytecodeParser::parseConstantValue(const unsigned char *&Buf,
     } else if (Opcode == Instruction::GetElementPtr) { // GetElementPtr
       std::vector<Constant*> IdxList(ArgVec.begin()+1, ArgVec.end());
       return ConstantExpr::getGetElementPtr(ArgVec[0], IdxList);
-    } else if (Opcode == Instruction::Shl || Opcode == Instruction::Shr) {
-      return ConstantExpr::getShift(Opcode, ArgVec[0], ArgVec[1]);
     } else {                            // All other 2-operand expressions
       return ConstantExpr::get(Opcode, ArgVec[0], ArgVec[1]);
     }
index 7a28281a79952a3ddddd80c4f92d6f45cc9bf2e4..4e5e5156bb76d6cf9830392be31ad7f8f5ad1b56 100644 (file)
@@ -596,19 +596,11 @@ void SCCP::visitBinaryOperator(Instruction &I) {
               Result.markOverdefined();
               break;  // Cannot fold this operation over the PHI nodes!
             } else if (In1.isConstant() && In2.isConstant()) {
-              Constant *Val = 0;
-              if (isa<BinaryOperator>(I))
-                Val = ConstantExpr::get(I.getOpcode(), In1.getConstant(),
-                                           In2.getConstant());
-              else {
-                assert(isa<ShiftInst>(I) &&
-                       "Can only handle binops and shifts here!");
-                Val = ConstantExpr::getShift(I.getOpcode(), In1.getConstant(),
-                                             In2.getConstant());
-              }
+              Constant *V = ConstantExpr::get(I.getOpcode(), In1.getConstant(),
+                                              In2.getConstant());
               if (Result.isUndefined())
-                Result.markConstant(Val);
-              else if (Result.isConstant() && Result.getConstant() != Val) {
+                Result.markConstant(V);
+              else if (Result.isConstant() && Result.getConstant() != V) {
                 Result.markOverdefined();
                 break;
               }
@@ -652,17 +644,8 @@ void SCCP::visitBinaryOperator(Instruction &I) {
 
     markOverdefined(IV, &I);
   } else if (V1State.isConstant() && V2State.isConstant()) {
-    Constant *Result = 0;
-    if (isa<BinaryOperator>(I))
-      Result = ConstantExpr::get(I.getOpcode(), V1State.getConstant(),
-                                 V2State.getConstant());
-    else {
-      assert (isa<ShiftInst>(I) && "Can only handle binops and shifts here!");
-      Result = ConstantExpr::getShift(I.getOpcode(), V1State.getConstant(),
-                                      V2State.getConstant());
-    }
-      
-    markConstant(IV, &I, Result);      // This instruction constant folds!
+    markConstant(IV, &I, ConstantExpr::get(I.getOpcode(), V1State.getConstant(),
+                                           V2State.getConstant()));
   }
 }