diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2009-07-15 17:40:42 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2009-07-15 17:40:42 +0000 |
commit | 87d1f47cb697bf05bf4a7c09b44ae6c893563d89 (patch) | |
tree | 37d8069c0574ff7ada834051ccec14c346416a26 /lib | |
parent | 206613b289f60b71a76e9190d36b9ea9e47a701e (diff) | |
download | external_llvm-87d1f47cb697bf05bf4a7c09b44ae6c893563d89.zip external_llvm-87d1f47cb697bf05bf4a7c09b44ae6c893563d89.tar.gz external_llvm-87d1f47cb697bf05bf4a7c09b44ae6c893563d89.tar.bz2 |
Revert 75798 to fix llvm build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75805 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/VMCore/Constants.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/VMCore/Constants.cpp b/lib/VMCore/Constants.cpp index 9f544a7..5c7c288 100644 --- a/lib/VMCore/Constants.cpp +++ b/lib/VMCore/Constants.cpp @@ -255,6 +255,20 @@ ConstantInt *ConstantInt::get(const APInt& V) { // ConstantFP //===----------------------------------------------------------------------===// +static const fltSemantics *TypeToFloatSemantics(const Type *Ty) { + if (Ty == Type::FloatTy) + return &APFloat::IEEEsingle; + if (Ty == Type::DoubleTy) + return &APFloat::IEEEdouble; + if (Ty == Type::X86_FP80Ty) + return &APFloat::x87DoubleExtended; + else if (Ty == Type::FP128Ty) + return &APFloat::IEEEquad; + + assert(Ty == Type::PPC_FP128Ty && "Unknown FP format"); + return &APFloat::PPCDoubleDouble; +} + ConstantFP::ConstantFP(const Type *Ty, const APFloat& V) : Constant(Ty, ConstantFPVal, 0, 0), Val(V) { assert(&V.getSemantics() == TypeToFloatSemantics(Ty) && |