LLVM 22.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 26 of file SimplifyQuery.h.
|
inline |
Definition at line 27 of file SimplifyQuery.h.
References UseInstrInfo.
|
default |
|
inline |
Definition at line 31 of file SimplifyQuery.h.
References I, and UseInstrInfo.
Referenced by llvm::computeConstantRange(), computeKnownBitsFromOperator(), getRange(), and isKnownNonZeroFromOperator().
Definition at line 43 of file SimplifyQuery.h.
References UseInstrInfo.
Referenced by computeKnownBitsFromOperator(), getRangeForSelectPattern(), isKnownNonZeroFromOperator(), llvm::isKnownToBeAPowerOfTwo(), isPowerOfTwoRecurrence(), setLimitsForBinOp(), simplifyAndOfICmpsWithAdd(), simplifyDivRem(), simplifyICmpWithBinOp(), simplifyInstructionWithOperands(), and simplifyOrOfICmpsWithAdd().
Definition at line 55 of file SimplifyQuery.h.
References UseInstrInfo.
Referenced by computeKnownFPClass().
Definition at line 37 of file SimplifyQuery.h.
References UseInstrInfo.
Referenced by computeKnownBitsFromOperator(), isKnownNonZeroFromOperator(), llvm::isKnownToBeAPowerOfTwo(), isPowerOfTwoRecurrence(), setLimitsForBinOp(), simplifyAndOfICmpsWithAdd(), simplifyDivRem(), simplifyICmpWithBinOp(), simplifyInstructionWithOperands(), and simplifyOrOfICmpsWithAdd().
|
inline |
Definition at line 49 of file SimplifyQuery.h.
References llvm::cast(), llvm::isa(), and UseInstrInfo.
Referenced by computeKnownBitsFromOperator(), llvm::isKnownToBeAPowerOfTwo(), isPowerOfTwoRecurrence(), setLimitsForBinOp(), simplifyICmpWithBinOp(), and simplifyInstructionWithOperands().
bool llvm::InstrInfoQuery::UseInstrInfo = true |
Definition at line 29 of file SimplifyQuery.h.
Referenced by llvm::computeConstantRangeIncludingKnownBits(), computeKnownFPClass(), getMetadata(), hasNoSignedWrap(), hasNoSignedZeros(), hasNoUnsignedWrap(), InstrInfoQuery(), isExact(), isKnownNonZeroFromOperator(), simplifyAndInst(), simplifyAShrInst(), simplifyICmpWithConstant(), simplifyLShrInst(), simplifyMulInst(), simplifyRem(), simplifyShlInst(), and trySimplifyICmpWithAdds().