LLVM 20.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 1131 of file InstrTypes.h.
|
default |
|
inlineexplicit |
Definition at line 1135 of file InstrTypes.h.
|
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 1159 of file InstrTypes.h.
Referenced by cloneInstructionInExitBlock(), llvm::CallBase::hasOperandBundlesOtherThan(), isCFGuardTargetOperandBundle(), isDeoptOperandBundle(), isFuncletOperandBundle(), and llvm::CallBase::isOperandBundleOfType().
|
inline |
Return the tag of this operand bundle as a string.
Definition at line 1150 of file InstrTypes.h.
Referenced by llvm::AlignmentFromAssumptionsPass::extractAlignmentInfo(), findAffectedValues(), llvm::OperandBundleDefT< InputTy >::OperandBundleDefT(), and llvm::InstCombinerImpl::visitCallInst().
|
inline |
Return true if this is a "cfguardtarget" operand bundle.
Definition at line 1174 of file InstrTypes.h.
References getTagID(), and llvm::LLVMContext::OB_cfguardtarget.
|
inline |
Return true if this is a "deopt" operand bundle.
Definition at line 1164 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 1169 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 1140 of file InstrTypes.h.
References A, Idx, Inputs, and isDeoptOperandBundle().
Definition at line 1132 of file InstrTypes.h.
Referenced by llvm::AlignmentFromAssumptionsPass::extractAlignmentInfo(), findAffectedValues(), llvm::OperandBundleDefT< InputTy >::OperandBundleDefT(), operandHasAttr(), and llvm::InstCombinerImpl::visitCallInst().