From: Reid Spencer Date: Tue, 5 Dec 2006 03:30:09 +0000 (+0000) Subject: Remove the last inferred casts from VMCore. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=57c699381bfde5f8d47079cd87e4f3e7fb9fca84;p=oota-llvm.git Remove the last inferred casts from VMCore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32213 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/VMCore/ConstantFold.cpp b/lib/VMCore/ConstantFold.cpp index b15c4724593..58f1d444f67 100644 --- a/lib/VMCore/ConstantFold.cpp +++ b/lib/VMCore/ConstantFold.cpp @@ -777,8 +777,7 @@ static Constant *CastConstantPacked(ConstantPacked *CP, uint64_t V = DoubleToBits(cast(CP->getOperand(i))->getValue()); Constant *C = ConstantInt::get(Type::ULongTy, V); - Result.push_back( - ConstantExpr::getInferredCast(C, false, DstEltTy, false)); + Result.push_back(ConstantExpr::getTruncOrBitCast(C, DstEltTy )); } return ConstantPacked::get(Result); } @@ -787,8 +786,7 @@ static Constant *CastConstantPacked(ConstantPacked *CP, for (unsigned i = 0; i != SrcNumElts; ++i) { uint32_t V = FloatToBits(cast(CP->getOperand(i))->getValue()); Constant *C = ConstantInt::get(Type::UIntTy, V); - Result.push_back( - ConstantExpr::getInferredCast(C, false, DstEltTy, false)); + Result.push_back(ConstantExpr::getTruncOrBitCast(C, DstEltTy)); } return ConstantPacked::get(Result); } @@ -855,7 +853,7 @@ Constant *llvm::ConstantFoldCastInstruction(unsigned opc, const Constant *V, } if (isAllNull) // This is casting one pointer type to another, always BitCast - return ConstantExpr::getCast(CE->getOperand(0), DestTy); + return ConstantExpr::getPointerCast(CE->getOperand(0), DestTy); } } @@ -1644,7 +1642,7 @@ Constant *llvm::ConstantFoldGetElementPtr(const Constant *C, // We know R is unsigned, Idx0 is signed because it must be an index // through a sequential type (gep pointer operand) which is always // signed. - R = ConstantExpr::getInferredCast(R, false, Idx0->getType(), true); + R = ConstantExpr::getSExtOrBitCast(R, Idx0->getType()); R = ConstantExpr::getMul(R, Idx0); // signed multiply // R is a signed integer, C is the GEP pointer so -> IntToPtr return ConstantExpr::getCast(Instruction::IntToPtr, R, C->getType()); @@ -1676,10 +1674,9 @@ Constant *llvm::ConstantFoldGetElementPtr(const Constant *C, if (!Idx0->isNullValue()) { const Type *IdxTy = Combined->getType(); if (IdxTy != Idx0->getType()) { - Constant *C1 = ConstantExpr::getInferredCast( - Idx0, true, Type::LongTy, true); - Constant *C2 = ConstantExpr::getInferredCast( - Combined, true, Type::LongTy, true); + Constant *C1 = ConstantExpr::getSExtOrBitCast(Idx0, Type::LongTy); + Constant *C2 = ConstantExpr::getSExtOrBitCast(Combined, + Type::LongTy); Combined = ConstantExpr::get(Instruction::Add, C1, C2); } else { Combined =