23#ifndef LLVM_IR_CONSTANTFPRANGE_H
24#define LLVM_IR_CONSTANTFPRANGE_H
98 bool MayBeQNaN,
bool MayBeSNaN);
130 LLVM_ABI static std::optional<ConstantFPRange>
179 LLVM_ABI std::optional<bool> getSignBit()
const;
This file declares a class to represent arbitrary precision floating point values and provide a varie...
static void print(raw_ostream &Out, object::Archive::Kind Kind, T Val)
std::optional< std::vector< StOtherPiece > > Other
static bool contains(SmallPtrSetImpl< ConstantExpr * > &Cache, ConstantExpr *Expr, Constant *C)
Predicate
This enumeration lists the possible predicates for CmpInst subclasses.
This class represents a range of floating-point values.
static ConstantFPRange getMayBeNaN(APFloat LowerVal, APFloat UpperVal)
Create a range which may contain NaNs.
static ConstantFPRange getFull(const fltSemantics &Sem)
Create full constant range with the given semantics.
bool containsQNaN() const
bool containsSNaN() const
bool isSingleElement(bool ExcludesNaN=false) const
Return true if this set contains exactly one member.
LLVM_ABI void print(raw_ostream &OS) const
Print out the bounds to a stream.
bool operator!=(const ConstantFPRange &CR) const
Return true if this range is not equal to another range.
static ConstantFPRange getEmpty(const fltSemantics &Sem)
Create empty constant range with the given semantics.
static ConstantFPRange getNonNaN(APFloat LowerVal, APFloat UpperVal)
Create a range which doesn't contain NaNs.
const APFloat & getUpper() const
Return the upper value for this range.
const APFloat & getLower() const
Return the lower value for this range.
const fltSemantics & getSemantics() const
Get the semantics of this ConstantFPRange.
LLVM Value Representation.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.
void dump(const SparseBitVector< ElementSize > &LHS, raw_ostream &out)
decltype(auto) getSingleElement(ContainerTy &&C)
Asserts that the given container has a single element and returns that element.
bool operator==(const AddressRangeValuePair &LHS, const AddressRangeValuePair &RHS)
FPClassTest
Floating-point class tests, supported by 'is_fpclass' intrinsic.
raw_ostream & operator<<(raw_ostream &OS, const APFixedPoint &FX)