summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2006-12-05 03:30:09 +0000
committerReid Spencer <rspencer@reidspencer.com>2006-12-05 03:30:09 +0000
commit27720a962d9596c9cc8be1d79a5b39490e9bfedc (patch)
tree7944ed10eb731481f56e2b89a4fb0285b4611e1e /llvm
parentd5a3f0dd1b87552ac5ff4527c3b3a5137ef09f40 (diff)
downloadbcm5719-llvm-27720a962d9596c9cc8be1d79a5b39490e9bfedc.tar.gz
bcm5719-llvm-27720a962d9596c9cc8be1d79a5b39490e9bfedc.zip
Remove the last inferred casts from VMCore.
llvm-svn: 32213
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/VMCore/ConstantFolding.cpp17
1 files changed, 7 insertions, 10 deletions
diff --git a/llvm/lib/VMCore/ConstantFolding.cpp b/llvm/lib/VMCore/ConstantFolding.cpp
index b15c4724593..58f1d444f67 100644
--- a/llvm/lib/VMCore/ConstantFolding.cpp
+++ b/llvm/lib/VMCore/ConstantFolding.cpp
@@ -777,8 +777,7 @@ static Constant *CastConstantPacked(ConstantPacked *CP,
uint64_t V =
DoubleToBits(cast<ConstantFP>(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<ConstantFP>(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 =
OpenPOWER on IntegriCloud