diff options
-rw-r--r-- | include/llvm/Constants.h | 1 | ||||
-rw-r--r-- | lib/VMCore/Constants.cpp | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/include/llvm/Constants.h b/include/llvm/Constants.h index 90cf55daac..9098cdc187 100644 --- a/include/llvm/Constants.h +++ b/include/llvm/Constants.h @@ -258,6 +258,7 @@ public: static Constant* get(const Type* Ty, const StringRef& Str); static ConstantFP* get(LLVMContext &Context, const APFloat& V); static ConstantFP* getNegativeZero(const Type* Ty); + static ConstantFP* getInf(const Type* Ty, bool negative = false); /// isValueValidForType - return true if Ty is big enough to represent V. static bool isValueValidForType(const Type *Ty, const APFloat& V); diff --git a/lib/VMCore/Constants.cpp b/lib/VMCore/Constants.cpp index 743462a4ed..33edf7adf9 100644 --- a/lib/VMCore/Constants.cpp +++ b/lib/VMCore/Constants.cpp @@ -436,6 +436,12 @@ ConstantFP* ConstantFP::get(LLVMContext &Context, const APFloat& V) { return Slot; } +ConstantFP *ConstantFP::getInf(const Type *Ty, bool Negative) { + const fltSemantics &Semantics = *TypeToFloatSemantics(Ty); + return ConstantFP::get(Ty->getContext(), + APFloat::getInf(Semantics, Negative)); +} + ConstantFP::ConstantFP(const Type *Ty, const APFloat& V) : Constant(Ty, ConstantFPVal, 0, 0), Val(V) { assert(&V.getSemantics() == TypeToFloatSemantics(Ty) && |