LLVM 18.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 1085 of file InstrTypes.h.
|
default |
|
inlineexplicit |
Definition at line 1089 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 1113 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 1104 of file InstrTypes.h.
Referenced by llvm::AlignmentFromAssumptionsPass::extractAlignmentInfo(), llvm::OperandBundleDefT< InputTy >::OperandBundleDefT(), and llvm::InstCombinerImpl::visitCallInst().
|
inline |
Return true if this is a "cfguardtarget" operand bundle.
Definition at line 1128 of file InstrTypes.h.
References getTagID(), and llvm::LLVMContext::OB_cfguardtarget.
|
inline |
Return true if this is a "deopt" operand bundle.
Definition at line 1118 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 1123 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 1094 of file InstrTypes.h.
References A, Idx, Inputs, and isDeoptOperandBundle().
Definition at line 1086 of file InstrTypes.h.
Referenced by llvm::AlignmentFromAssumptionsPass::extractAlignmentInfo(), llvm::OperandBundleDefT< InputTy >::OperandBundleDefT(), operandHasAttr(), and llvm::InstCombinerImpl::visitCallInst().