LLVM 22.0.0git
|
Represent one information held inside an operand bundle of an llvm.assume. More...
#include "llvm/Analysis/AssumeBundleQueries.h"
Public Member Functions | |
RetainedKnowledge (Attribute::AttrKind AttrKind=Attribute::None, uint64_t ArgValue=0, Value *WasOn=nullptr) | |
bool | operator== (RetainedKnowledge Other) const |
bool | operator!= (RetainedKnowledge Other) const |
bool | operator< (RetainedKnowledge Other) const |
This is only intended for use in std::min/stdmax between attribute that only differ in ArgValue. | |
operator bool () const |
Static Public Member Functions | |
static RetainedKnowledge | none () |
Public Attributes | |
Attribute::AttrKind | AttrKind = Attribute::None |
uint64_t | ArgValue = 0 |
Value * | IRArgValue = nullptr |
Value * | WasOn = nullptr |
Represent one information held inside an operand bundle of an llvm.assume.
AttrKind is the property that holds. WasOn if not null is that Value for which AttrKind holds. ArgValue is optionally an argument of the attribute. For example if we know that P has an alignment of at least four:
Definition at line 102 of file AssumeBundleQueries.h.
|
inline |
Definition at line 107 of file AssumeBundleQueries.h.
References ArgValue, AttrKind, llvm::Attribute::None, and WasOn.
Referenced by none(), operator!=(), operator<(), and operator==().
|
inlinestatic |
Definition at line 125 of file AssumeBundleQueries.h.
References RetainedKnowledge().
Referenced by llvm::getKnowledgeForValue(), llvm::getKnowledgeFromUse(), and llvm::simplifyRetainedKnowledge().
|
inline |
Definition at line 124 of file AssumeBundleQueries.h.
References AttrKind, and llvm::Attribute::None.
|
inline |
Definition at line 114 of file AssumeBundleQueries.h.
References llvm::Other, and RetainedKnowledge().
|
inline |
This is only intended for use in std::min/stdmax between attribute that only differ in ArgValue.
Definition at line 117 of file AssumeBundleQueries.h.
References ArgValue, assert(), AttrKind, llvm::Attribute::None, llvm::Other, RetainedKnowledge(), and WasOn.
|
inline |
Definition at line 110 of file AssumeBundleQueries.h.
References ArgValue, AttrKind, IRArgValue, llvm::Other, RetainedKnowledge(), and WasOn.
uint64_t llvm::RetainedKnowledge::ArgValue = 0 |
Definition at line 104 of file AssumeBundleQueries.h.
Referenced by isDereferenceableAndAlignedPointer(), isDereferenceableAndAlignedPointerViaAssumption(), operator<(), operator==(), RetainedKnowledge(), and llvm::InstCombinerImpl::visitCallInst().
Attribute::AttrKind llvm::RetainedKnowledge::AttrKind = Attribute::None |
Definition at line 103 of file AssumeBundleQueries.h.
Referenced by llvm::getKnowledgeFromUse(), isDereferenceableAndAlignedPointerViaAssumption(), operator bool(), operator<(), operator==(), RetainedKnowledge(), and llvm::InstCombinerImpl::visitCallInst().
Value* llvm::RetainedKnowledge::IRArgValue = nullptr |
Definition at line 105 of file AssumeBundleQueries.h.
Referenced by evaluatePtrAddRecAtMaxBTCWillNotWrap(), llvm::isDereferenceableAndAlignedInLoop(), operator==(), and llvm::InstCombinerImpl::visitCallInst().
Value* llvm::RetainedKnowledge::WasOn = nullptr |
Definition at line 106 of file AssumeBundleQueries.h.
Referenced by operator<(), operator==(), RetainedKnowledge(), and llvm::InstCombinerImpl::visitCallInst().