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 1009 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 1013 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 1037 of file InstrTypes.h.

Referenced by cloneInstructionInExitBlock(), llvm::AlignmentFromAssumptionsPass::extractAlignmentInfo(), llvm::CallBase::hasOperandBundlesOtherThan(), isCFGuardTargetOperandBundle(), isDeoptOperandBundle(), isFuncletOperandBundle(), llvm::CallBase::isOperandBundleOfType(), and llvm::InstCombinerImpl::visitCallInst().

◆ 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 1052 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 1042 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 1047 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 1018 of file InstrTypes.h.

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

Member Data Documentation

◆ Inputs


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