LLVM 22.0.0git
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 1011 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 1015 of file InstrTypes.h.

References Inputs.

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 1039 of file InstrTypes.h.

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 1054 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 1044 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 1049 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 1020 of file InstrTypes.h.

References A(), Inputs, and isDeoptOperandBundle().

Member Data Documentation

◆ Inputs


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