LLVM 20.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::OperandBundleUse Struct Reference

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< UseInputs
 

Detailed Description

A lightweight accessor for an operand bundle meant to be passed around by value.

Definition at line 1015 of file InstrTypes.h.

Constructor & Destructor Documentation

◆ OperandBundleUse() [1/2]

llvm::OperandBundleUse::OperandBundleUse ( )
default

◆ OperandBundleUse() [2/2]

llvm::OperandBundleUse::OperandBundleUse ( StringMapEntry< uint32_t > *  Tag,
ArrayRef< Use Inputs 
)
inlineexplicit

Definition at line 1019 of file InstrTypes.h.

Member Function Documentation

◆ getTagID()

uint32_t llvm::OperandBundleUse::getTagID ( ) const
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().

◆ getTagName()

StringRef llvm::OperandBundleUse::getTagName ( ) const
inline

◆ isCFGuardTargetOperandBundle()

bool llvm::OperandBundleUse::isCFGuardTargetOperandBundle ( ) const
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.

◆ isDeoptOperandBundle()

bool llvm::OperandBundleUse::isDeoptOperandBundle ( ) const
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().

◆ isFuncletOperandBundle()

bool llvm::OperandBundleUse::isFuncletOperandBundle ( ) const
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.

◆ operandHasAttr()

bool llvm::OperandBundleUse::operandHasAttr ( unsigned  Idx,
Attribute::AttrKind  A 
) const
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().

Member Data Documentation

◆ Inputs

ArrayRef<Use> llvm::OperandBundleUse::Inputs

The documentation for this struct was generated from the following file: