LLVM  8.0.1
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"

Collaboration diagram for llvm::OperandBundleUse:
Collaboration graph
[legend]

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. More...
 
StringRef getTagName () const
 Return the tag of this operand bundle as a string. More...
 
uint32_t getTagID () const
 Return the tag of this operand bundle as an integer. More...
 
bool isDeoptOperandBundle () const
 Return true if this is a "deopt" operand bundle. More...
 
bool isFuncletOperandBundle () const
 Return true if this is a "funclet" operand bundle. More...
 

Public Attributes

ArrayRef< UseInputs
 

Detailed Description

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

Definition at line 914 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 918 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 942 of file InstrTypes.h.

Referenced by CloneInstructionInExitBlock(), llvm::CallBase::getOperandBundle(), getSuccPad(), and llvm::InlineFunction().

◆ getTagName()

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

Return the tag of this operand bundle as a string.

Definition at line 933 of file InstrTypes.h.

Referenced by llvm::CallBase::getOperandBundle(), and llvm::OperandBundleDefT< InputTy >::OperandBundleDefT().

◆ isDeoptOperandBundle()

bool llvm::OperandBundleUse::isDeoptOperandBundle ( ) const
inline

Return true if this is a "deopt" operand bundle.

Definition at line 947 of file InstrTypes.h.

References llvm::LLVMContext::OB_deopt.

◆ isFuncletOperandBundle()

bool llvm::OperandBundleUse::isFuncletOperandBundle ( ) const
inline

Return true if this is a "funclet" operand bundle.

Definition at line 952 of file InstrTypes.h.

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

References llvm::Attribute::NoCapture, and llvm::Attribute::ReadOnly.

Member Data Documentation

◆ Inputs

ArrayRef<Use> llvm::OperandBundleUse::Inputs

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