Use the new convertFromAPInt instead of convertFromZeroExtendedInteger.
authorDan Gohman <gohman@apple.com>
Fri, 29 Feb 2008 01:42:52 +0000 (01:42 +0000)
committerDan Gohman <gohman@apple.com>
Fri, 29 Feb 2008 01:42:52 +0000 (01:42 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47744 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/ConstantFold.cpp

index 451190fc94a5715f154845c827c09a3151fdeb98..762a24a26330165ccee1d95cd5adbcc62b585c4b 100644 (file)
@@ -170,8 +170,6 @@ static Constant *FoldBitCast(Constant *V, const Type *DestTy) {
 
 Constant *llvm::ConstantFoldCastInstruction(unsigned opc, const Constant *V,
                                             const Type *DestTy) {
-  const Type *SrcTy = V->getType();
-
   if (isa<UndefValue>(V)) {
     // zext(undef) = 0, because the top bits will be zero.
     // sext(undef) = 0, because the top bits will all be the same.
@@ -257,12 +255,11 @@ Constant *llvm::ConstantFoldCastInstruction(unsigned opc, const Constant *V,
     if (const ConstantInt *CI = dyn_cast<ConstantInt>(V)) {
       APInt api = CI->getValue();
       const uint64_t zero[] = {0, 0};
-      uint32_t BitWidth = cast<IntegerType>(SrcTy)->getBitWidth();
       APFloat apf = APFloat(APInt(DestTy->getPrimitiveSizeInBits(),
                                   2, zero));
-      (void)apf.convertFromZeroExtendedInteger(api.getRawData(), BitWidth
-                                   opc==Instruction::SIToFP,
-                                   APFloat::rmNearestTiesToEven);
+      (void)apf.convertFromAPInt(api
+                                 opc==Instruction::SIToFP,
+                                 APFloat::rmNearestTiesToEven);
       return ConstantFP::get(DestTy, apf);
     }
     if (const ConstantVector *CV = dyn_cast<ConstantVector>(V)) {