LLVM: lib/IR/ConstantFPRange.cpp File Reference (original) (raw)
Go to the source code of this file.
| Functions | |
|---|---|
| static APFloat::cmpResult | strictCompare (const APFloat &LHS, const APFloat &RHS) |
| static bool | isNonCanonicalEmptySet (const APFloat &Lower, const APFloat &Upper) |
| static void | canonicalizeRange (APFloat &Lower, APFloat &Upper) |
| static bool | fcmpPredExcludesEqual (FCmpInst::Predicate Pred) |
| Return true for ULT/UGT/OLT/OGT. | |
| static ConstantFPRange | makeLessThan (APFloat V, FCmpInst::Predicate Pred) |
| Return [-inf, V) or [-inf, V]. | |
| static ConstantFPRange | makeGreaterThan (APFloat V, FCmpInst::Predicate Pred) |
| Return (V, +inf] or [V, +inf]. | |
| static ConstantFPRange | extendZeroIfEqual (const ConstantFPRange &CR, FCmpInst::Predicate Pred) |
| Make sure that +0/-0 are both included in the range. | |
| static ConstantFPRange | setNaNField (const ConstantFPRange &CR, FCmpInst::Predicate Pred) |
| static bool | removeInf (APFloat &Lower, APFloat &Upper, bool &HasPosInf, bool &HasNegInf) |
| Return true if the finite part is not empty after removing infinities. | |
| static void | splitPosNeg (const APFloat &Lower, const APFloat &Upper, std::optional< SameSignRange > &NegPart, std::optional< SameSignRange > &PosPart) |
| Split the range into positive and negative components. |
◆ canonicalizeRange()
◆ extendZeroIfEqual()
◆ fcmpPredExcludesEqual()
| bool fcmpPredExcludesEqual ( FCmpInst::Predicate Pred) | static |
|---|
◆ isNonCanonicalEmptySet()
◆ makeGreaterThan()
◆ makeLessThan()
◆ removeInf()
◆ setNaNField()
◆ splitPosNeg()
◆ strictCompare()
Definition at line 61 of file ConstantFPRange.cpp.
References assert(), llvm::APFloatBase::cmpEqual, llvm::APFloatBase::cmpGreaterThan, llvm::APFloatBase::cmpLessThan, LHS, and RHS.
Referenced by llvm::ConstantFPRange::contains(), llvm::ConstantFPRange::contains(), isNonCanonicalEmptySet(), removeInf(), SameSignRange::SameSignRange(), and splitPosNeg().