LLVM 20.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 25 of file SimplifyQuery.h.
|
inline |
Definition at line 26 of file SimplifyQuery.h.
|
default |
|
inline |
Definition at line 30 of file SimplifyQuery.h.
References I, and UseInstrInfo.
Referenced by llvm::computeConstantRange(), computeKnownBitsFromOperator(), getRange(), and isKnownNonZeroFromOperator().
Definition at line 42 of file SimplifyQuery.h.
References UseInstrInfo.
Referenced by computeKnownBitsFromOperator(), getRangeForSelectPattern(), isKnownNonZeroFromOperator(), isKnownToBeAPowerOfTwo(), isPowerOfTwoRecurrence(), setLimitsForBinOp(), simplifyAndOfICmpsWithAdd(), simplifyDivRem(), simplifyICmpWithBinOp(), simplifyInstructionWithOperands(), and simplifyOrOfICmpsWithAdd().
Definition at line 54 of file SimplifyQuery.h.
References UseInstrInfo.
Referenced by computeKnownFPClass().
|
inline |
Definition at line 36 of file SimplifyQuery.h.
References UseInstrInfo.
Referenced by computeKnownBitsFromOperator(), isKnownNonZeroFromOperator(), isKnownToBeAPowerOfTwo(), isPowerOfTwoRecurrence(), setLimitsForBinOp(), simplifyAndOfICmpsWithAdd(), simplifyDivRem(), simplifyICmpWithBinOp(), simplifyInstructionWithOperands(), and simplifyOrOfICmpsWithAdd().
|
inline |
Definition at line 48 of file SimplifyQuery.h.
References UseInstrInfo.
Referenced by computeKnownBitsFromOperator(), isKnownToBeAPowerOfTwo(), isPowerOfTwoRecurrence(), setLimitsForBinOp(), simplifyICmpWithBinOp(), and simplifyInstructionWithOperands().
Definition at line 28 of file SimplifyQuery.h.
Referenced by llvm::computeConstantRangeIncludingKnownBits(), computeKnownFPClass(), getMetadata(), hasNoSignedWrap(), hasNoSignedZeros(), hasNoUnsignedWrap(), isExact(), isKnownNonZeroFromOperator(), simplifyAndInst(), simplifyAShrInst(), simplifyICmpInst(), simplifyICmpWithConstant(), simplifyLShrInst(), simplifyMulInst(), simplifyRem(), simplifyShlInst(), and trySimplifyICmpWithAdds().