9#ifndef LLVM_ANALYSIS_FLOATINGPOINTPREDICATEUTILS_H
10#define LLVM_ANALYSIS_FLOATINGPOINTPREDICATEUTILS_H
23FloatingPointPredicateUtils::queryDenormalMode(
const Function &
F,
Value *Val);
32FloatingPointPredicateUtils::matchConstantFloat(
const Function &
F,
Value *Val);
42inline std::pair<Value *, FPClassTest>
44 Value *
RHS,
bool LookThroughSrc =
true) {
46 LookThroughSrc =
true);
57inline std::pair<Value *, FPClassTest>
59 const APFloat *ConstRHS,
bool LookThroughSrc =
true) {
64inline std::tuple<Value *, FPClassTest, FPClassTest>
71inline std::tuple<Value *, FPClassTest, FPClassTest>
73 const APFloat &ConstRHS,
bool LookThroughSrc =
true) {
78inline std::tuple<Value *, FPClassTest, FPClassTest>
80 Value *
RHS,
bool LookThroughSrc =
true) {
Utilities for dealing with flags related to floating point properties and mode controls.
This file declares a specialization of the GenericSSAContext<X> class template for LLVM IR.
Predicate
This enumeration lists the possible predicates for CmpInst subclasses.
static std::tuple< ValueRefT, FPClassTest, FPClassTest > fcmpImpliesClass(CmpInst::Predicate Pred, const FunctionT &F, ValueRefT LHS, FPClassTest RHSClass, bool LookThroughSrc)
Compute the possible floating-point classes that LHS could be based on fcmp \Pred LHS,...
static std::pair< ValueRefT, FPClassTest > fcmpToClassTest(FCmpInst::Predicate Pred, const FunctionT &F, ValueRefT LHS, ValueRefT RHS, bool LookThroughSrc)
Returns a pair of values, which if passed to llvm.is.fpclass, returns the same result as an fcmp with...
LLVM Value Representation.
This is an optimization pass for GlobalISel generic memory operations.
std::tuple< Value *, FPClassTest, FPClassTest > fcmpImpliesClass(CmpInst::Predicate Pred, const Function &F, Value *LHS, FPClassTest RHSClass, bool LookThroughSrc=true)
FPClassTest
Floating-point class tests, supported by 'is_fpclass' intrinsic.
std::pair< Value *, FPClassTest > fcmpToClassTest(FCmpInst::Predicate Pred, const Function &F, Value *LHS, Value *RHS, bool LookThroughSrc=true)
Returns a pair of values, which if passed to llvm.is.fpclass, returns the same result as an fcmp with...
Represent subnormal handling kind for floating point instruction inputs and outputs.