Add CreateZExtOrBitCast and CreateSExtOrBitCast to TargetFolder

for consistency with ConstantFolder.

llvm-svn: 85137
This commit is contained in:
Dan Gohman 2009-10-26 18:36:40 +00:00
parent 722cedfb0d
commit be881ee758
1 changed files with 10 additions and 0 deletions

View File

@ -179,6 +179,16 @@ public:
Constant *CreatePtrToInt(Constant *C, const Type *DestTy) const {
return CreateCast(Instruction::PtrToInt, C, DestTy);
}
Constant *CreateZExtOrBitCast(Constant *C, const Type *DestTy) const {
if (C->getType() == DestTy)
return C; // avoid calling Fold
return Fold(ConstantExpr::getZExtOrBitCast(C, DestTy));
}
Constant *CreateSExtOrBitCast(Constant *C, const Type *DestTy) const {
if (C->getType() == DestTy)
return C; // avoid calling Fold
return Fold(ConstantExpr::getSExtOrBitCast(C, DestTy));
}
Constant *CreateTruncOrBitCast(Constant *C, const Type *DestTy) const {
if (C->getType() == DestTy)
return C; // avoid calling Fold