diff options
author | Dan Gohman <gohman@apple.com> | 2009-09-25 23:00:48 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-09-25 23:00:48 +0000 |
commit | f344f7f008b69ea1e711c2cf80be9e660e40ee13 (patch) | |
tree | fab5cc5a3e6f9b8c1c41d9015a123f25b12d0966 | |
parent | 19778e7558bc161b87920c5be9cc01bb84a08de2 (diff) |
Add a ConstantFP::getInf utility function for creating infinity ConstantFPs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82818 91177308-0d34-0410-b5e6-96231b3b80d8
-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) && |