diff options
author | Duncan Sands <baldrick@free.fr> | 2009-02-04 11:17:06 +0000 |
---|---|---|
committer | Duncan Sands <baldrick@free.fr> | 2009-02-04 11:17:06 +0000 |
commit | 09750273a4cd49630b64ec03b2e2f207a4fe8308 (patch) | |
tree | cd74cc530928d1ce4f2c09f0d0dbce0fa33f05f9 /lib | |
parent | a06aef6ec55552640e45ffada96e43cae96cfc01 (diff) | |
download | external_llvm-09750273a4cd49630b64ec03b2e2f207a4fe8308.zip external_llvm-09750273a4cd49630b64ec03b2e2f207a4fe8308.tar.gz external_llvm-09750273a4cd49630b64ec03b2e2f207a4fe8308.tar.bz2 |
Allow the inverse transform x86_fp80 -> i80 (also
fires during the Ada build).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63731 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/VMCore/ConstantFold.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/lib/VMCore/ConstantFold.cpp b/lib/VMCore/ConstantFold.cpp index 5f7cbcd..ff4d897 100644 --- a/lib/VMCore/ConstantFold.cpp +++ b/lib/VMCore/ConstantFold.cpp @@ -161,17 +161,12 @@ static Constant *FoldBitCast(Constant *V, const Type *DestTy) { // Otherwise, can't fold this (vector?) return 0; } - + // Handle ConstantFP input. - if (const ConstantFP *FP = dyn_cast<ConstantFP>(V)) { + if (const ConstantFP *FP = dyn_cast<ConstantFP>(V)) // FP -> Integral. - if (DestTy == Type::Int32Ty) { - return ConstantInt::get(FP->getValueAPF().bitcastToAPInt()); - } else { - assert(DestTy == Type::Int64Ty && "only support f32/f64 for now!"); - return ConstantInt::get(FP->getValueAPF().bitcastToAPInt()); - } - } + return ConstantInt::get(FP->getValueAPF().bitcastToAPInt()); + return 0; } |