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 1015 of file InstrTypes.h.
|
default |
|
inlineexplicit |
Definition at line 1019 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 1043 of file InstrTypes.h.
References llvm::StringMapEntryStorage< ValueTy >::getValue().
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 1034 of file InstrTypes.h.
References llvm::StringMapEntry< ValueTy >::getKey().
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 1058 of file InstrTypes.h.
References getTagID(), and llvm::LLVMContext::OB_cfguardtarget.
|
inline |
Return true if this is a "deopt" operand bundle.
Definition at line 1048 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 1053 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 1024 of file InstrTypes.h.
References A, Idx, Inputs, and isDeoptOperandBundle().
Definition at line 1016 of file InstrTypes.h.
Referenced by llvm::AlignmentFromAssumptionsPass::extractAlignmentInfo(), findAffectedValues(), llvm::OperandBundleDefT< InputTy >::OperandBundleDefT(), operandHasAttr(), and llvm::InstCombinerImpl::visitCallInst().