From 8c4fed50e3f4318baadf88bbbaa9313a6616493b Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Mon, 11 Dec 2006 21:27:28 +0000 Subject: [PATCH] Fix constant folding of FP->int due to cut & paste error in last commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32447 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/VMCore/ConstantFold.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/VMCore/ConstantFold.cpp b/lib/VMCore/ConstantFold.cpp index 7eb7d4d8f8b..bad774e67fd 100644 --- a/lib/VMCore/ConstantFold.cpp +++ b/lib/VMCore/ConstantFold.cpp @@ -983,9 +983,10 @@ Constant *llvm::ConstantFoldCastInstruction(unsigned opc, const Constant *V, if (const ConstantFP *FP = dyn_cast(V)) { // FP -> Integral. if (DestTy->isIntegral()) { - if (DestTy == Type::FloatTy) + if (DestTy == Type::IntTy || DestTy == Type::UIntTy) return ConstantInt::get(DestTy, FloatToBits(FP->getValue())); - assert(DestTy == Type::DoubleTy && "Unknown FP type!"); + assert((DestTy == Type::LongTy || DestTy == Type::ULongTy) + && "Incorrect integer type for bitcast!"); return ConstantInt::get(DestTy, DoubleToBits(FP->getValue())); } } -- 2.34.1