Changes in directory llvm/lib/VMCore:
Constants.cpp updated: 1.180 -> 1.181 --- Log message: Bail on the getInferredCast idea. Remove the function and convert remaining uses to more specific casts. --- Diffs of the changes: (+8 -8) Constants.cpp | 16 ++++++++-------- 1 files changed, 8 insertions(+), 8 deletions(-) Index: llvm/lib/VMCore/Constants.cpp diff -u llvm/lib/VMCore/Constants.cpp:1.180 llvm/lib/VMCore/Constants.cpp:1.181 --- llvm/lib/VMCore/Constants.cpp:1.180 Mon Dec 4 21:25:26 2006 +++ llvm/lib/VMCore/Constants.cpp Tue Dec 5 13:14:13 2006 @@ -1500,14 +1500,7 @@ ExprMapKeyType Key(opc, argVec); return ExprConstants->getOrCreate(Ty, Key); } - -Constant *ConstantExpr::getInferredCast(Constant *C, bool SrcIsSigned, - const Type *Ty, bool DestIsSigned) { - // Note: we can't inline this because it requires the Instructions.h header - return getCast( - CastInst::getCastOpcode(C, SrcIsSigned, Ty, DestIsSigned), C, Ty); -} - + Constant *ConstantExpr::getCast(unsigned oc, Constant *C, const Type *Ty) { Instruction::CastOps opc = Instruction::CastOps(oc); assert(Instruction::isCast(opc) && "opcode out of range"); @@ -1532,8 +1525,15 @@ case Instruction::BitCast: return getBitCast(C, Ty); } return 0; +} + +Constant *ConstantExpr::getCast(Constant *C, const Type *Ty) { + // Note: we can't inline this because it requires the Instructions.h header + return getCast(CastInst::getCastOpcode( + C, C->getType()->isSigned(), Ty, Ty->isSigned()), C, Ty); } + Constant *ConstantExpr::getZExtOrBitCast(Constant *C, const Type *Ty) { if (C->getType()->getPrimitiveSizeInBits() == Ty->getPrimitiveSizeInBits()) return getCast(Instruction::BitCast, C, Ty); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits