LLVM 19.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 1389 of file InstrTypes.h.
|
default |
|
inlineexplicit |
Definition at line 1393 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 1417 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 1408 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 1432 of file InstrTypes.h.
References getTagID(), and llvm::LLVMContext::OB_cfguardtarget.
|
inline |
Return true if this is a "deopt" operand bundle.
Definition at line 1422 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 1427 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 1398 of file InstrTypes.h.
References A, Idx, Inputs, and isDeoptOperandBundle().
Definition at line 1390 of file InstrTypes.h.
Referenced by llvm::AlignmentFromAssumptionsPass::extractAlignmentInfo(), findAffectedValues(), llvm::OperandBundleDefT< InputTy >::OperandBundleDefT(), operandHasAttr(), and llvm::InstCombinerImpl::visitCallInst().