LLVM 18.0.0git
|
InstrInfoQuery provides an interface to query additional information for instructions like metadata or keywords like nsw, which provides conservative results if the users specified it is safe to use. More...
#include "llvm/Analysis/SimplifyQuery.h"
Public Member Functions | |
InstrInfoQuery (bool UMD) | |
InstrInfoQuery ()=default | |
MDNode * | getMetadata (const Instruction *I, unsigned KindID) const |
template<class InstT > | |
bool | hasNoUnsignedWrap (const InstT *Op) const |
template<class InstT > | |
bool | hasNoSignedWrap (const InstT *Op) const |
bool | isExact (const BinaryOperator *Op) const |
template<class InstT > | |
bool | hasNoSignedZeros (const InstT *Op) const |
Public Attributes | |
bool | UseInstrInfo = true |
InstrInfoQuery provides an interface to query additional information for instructions like metadata or keywords like nsw, which provides conservative results if the users specified it is safe to use.
Definition at line 23 of file SimplifyQuery.h.
|
inline |
Definition at line 24 of file SimplifyQuery.h.
|
default |
|
inline |
Definition at line 28 of file SimplifyQuery.h.
References I, and UseInstrInfo.
Referenced by llvm::computeConstantRange(), computeKnownBitsFromOperator(), isKnownNonZero(), isKnownNonZeroFromOperator(), and simplifyICmpInst().
Definition at line 40 of file SimplifyQuery.h.
References UseInstrInfo.
Referenced by computeKnownBitsFromOperator(), getRangeForSelectPattern(), isKnownNonZeroFromOperator(), isKnownToBeAPowerOfTwo(), isPowerOfTwoRecurrence(), setLimitsForBinOp(), simplifyAndOfICmpsWithAdd(), simplifyDivRem(), simplifyICmpWithBinOp(), simplifyInstructionWithOperands(), and simplifyOrOfICmpsWithAdd().
Definition at line 52 of file SimplifyQuery.h.
References UseInstrInfo.
Referenced by computeKnownFPClass().
|
inline |
Definition at line 34 of file SimplifyQuery.h.
References UseInstrInfo.
Referenced by computeKnownBitsFromOperator(), isKnownNonZeroFromOperator(), isKnownToBeAPowerOfTwo(), isPowerOfTwoRecurrence(), setLimitsForBinOp(), simplifyAndOfICmpsWithAdd(), simplifyDivRem(), simplifyICmpWithBinOp(), simplifyInstructionWithOperands(), and simplifyOrOfICmpsWithAdd().
|
inline |
Definition at line 46 of file SimplifyQuery.h.
References UseInstrInfo.
Referenced by computeKnownBitsFromOperator(), isKnownToBeAPowerOfTwo(), isPowerOfTwoRecurrence(), setLimitsForBinOp(), simplifyICmpWithBinOp(), and simplifyInstructionWithOperands().
Definition at line 26 of file SimplifyQuery.h.
Referenced by computeConstantRangeIncludingKnownBits(), computeKnownFPClass(), getMetadata(), hasNoSignedWrap(), hasNoSignedZeros(), hasNoUnsignedWrap(), isExact(), isKnownNonZeroFromOperator(), simplifyAndInst(), simplifyAShrInst(), simplifyFCmpInst(), simplifyICmpInst(), simplifyICmpWithConstant(), simplifyICmpWithZero(), simplifyLShrInst(), simplifyMulInst(), simplifyRem(), simplifyShlInst(), and trySimplifyICmpWithAdds().