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().