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 24 of file SimplifyQuery.h.
|
inline |
Definition at line 25 of file SimplifyQuery.h.
|
default |
|
inline |
Definition at line 29 of file SimplifyQuery.h.
References I, and UseInstrInfo.
Referenced by llvm::computeConstantRange(), computeKnownBitsFromOperator(), isKnownNonZero(), isKnownNonZeroFromOperator(), and simplifyICmpInst().
Definition at line 41 of file SimplifyQuery.h.
References UseInstrInfo.
Referenced by computeKnownBitsFromOperator(), getRangeForSelectPattern(), isKnownNonZeroFromOperator(), isKnownToBeAPowerOfTwo(), isPowerOfTwoRecurrence(), setLimitsForBinOp(), simplifyAndOfICmpsWithAdd(), simplifyDivRem(), simplifyICmpWithBinOp(), simplifyInstructionWithOperands(), and simplifyOrOfICmpsWithAdd().
Definition at line 53 of file SimplifyQuery.h.
References UseInstrInfo.
Referenced by computeKnownFPClass().
|
inline |
Definition at line 35 of file SimplifyQuery.h.
References UseInstrInfo.
Referenced by computeKnownBitsFromOperator(), isKnownNonZeroFromOperator(), isKnownToBeAPowerOfTwo(), isPowerOfTwoRecurrence(), setLimitsForBinOp(), simplifyAndOfICmpsWithAdd(), simplifyDivRem(), simplifyICmpWithBinOp(), simplifyInstructionWithOperands(), and simplifyOrOfICmpsWithAdd().
|
inline |
Definition at line 47 of file SimplifyQuery.h.
References UseInstrInfo.
Referenced by computeKnownBitsFromOperator(), isKnownToBeAPowerOfTwo(), isPowerOfTwoRecurrence(), setLimitsForBinOp(), simplifyICmpWithBinOp(), and simplifyInstructionWithOperands().
Definition at line 27 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().