|
LLVM 23.0.0git
|
A lightweight accessor for an operand bundle meant to be passed around by value. More...
#include "llvm/IR/InstrTypes.h"
Public Member Functions | |
| OperandBundleUse ()=default | |
| OperandBundleUse (StringMapEntry< uint32_t > *Tag, ArrayRef< Use > Inputs) | |
| bool | operandHasAttr (unsigned Idx, Attribute::AttrKind A) const |
Return true if the operand at index Idx in this operand bundle has the attribute A. | |
| StringRef | getTagName () const |
| Return the tag of this operand bundle as a string. | |
| uint32_t | getTagID () const |
| Return the tag of this operand bundle as an integer. | |
| bool | isDeoptOperandBundle () const |
| Return true if this is a "deopt" operand bundle. | |
| bool | isFuncletOperandBundle () const |
| Return true if this is a "funclet" operand bundle. | |
| bool | isCFGuardTargetOperandBundle () const |
| Return true if this is a "cfguardtarget" operand bundle. | |
Public Attributes | |
| ArrayRef< Use > | Inputs |
A lightweight accessor for an operand bundle meant to be passed around by value.
Definition at line 1076 of file InstrTypes.h.
|
default |
|
inlineexplicit |
Definition at line 1080 of file InstrTypes.h.
References Inputs.
|
inline |
Return the tag of this operand bundle as an integer.
Operand bundle tags are interned by LLVMContextImpl::getOrInsertBundleTag, and this function returns the unique integer getOrInsertBundleTag associated the tag of this operand bundle to.
Definition at line 1104 of file InstrTypes.h.
Referenced by cloneInstructionInExitBlock(), llvm::AlignmentFromAssumptionsPass::extractAlignmentInfo(), llvm::CallBase::hasOperandBundlesOtherThan(), isCFGuardTargetOperandBundle(), isDeoptOperandBundle(), isFuncletOperandBundle(), llvm::CallBase::isOperandBundleOfType(), and llvm::InstCombinerImpl::visitCallInst().
|
inline |
Return the tag of this operand bundle as a string.
Definition at line 1095 of file InstrTypes.h.
Referenced by llvm::AssumptionCache::findValuesAffectedByOperandBundle(), llvm::OperandBundleDefT< Value * >::OperandBundleDefT(), and llvm::InstCombinerImpl::visitCallInst().
|
inline |
Return true if this is a "cfguardtarget" operand bundle.
Definition at line 1119 of file InstrTypes.h.
References getTagID(), and llvm::LLVMContext::OB_cfguardtarget.
|
inline |
Return true if this is a "deopt" operand bundle.
Definition at line 1109 of file InstrTypes.h.
References getTagID(), and llvm::LLVMContext::OB_deopt.
Referenced by operandHasAttr().
|
inline |
Return true if this is a "funclet" operand bundle.
Definition at line 1114 of file InstrTypes.h.
References getTagID(), and llvm::LLVMContext::OB_funclet.
|
inline |
Return true if the operand at index Idx in this operand bundle has the attribute A.
Definition at line 1085 of file InstrTypes.h.
References A(), Inputs, and isDeoptOperandBundle().
Definition at line 1077 of file InstrTypes.h.
Referenced by llvm::AlignmentFromAssumptionsPass::extractAlignmentInfo(), llvm::AssumptionCache::findValuesAffectedByOperandBundle(), llvm::OperandBundleDefT< Value * >::OperandBundleDefT(), OperandBundleUse(), operandHasAttr(), llvm::DropUnnecessaryAssumesPass::run(), and llvm::InstCombinerImpl::visitCallInst().