LLVM  4.0.0
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 <InstrTypes.h>

Collaboration diagram for llvm::OperandBundleUse:
[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 1206 of file InstrTypes.h.

Constructor & Destructor Documentation

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

Definition at line 1210 of file InstrTypes.h.

Member Function Documentation

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

Referenced by CloneInstructionInExitBlock(), llvm::OperandBundleUser< InvokeInst, User::op_iterator >::getOperandBundle(), llvm::OperandBundleUser< InvokeInst, User::op_iterator >::hasOperandBundlesOtherThan(), and llvm::InlineFunction().

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

Return the tag of this operand bundle as a string.

Definition at line 1225 of file InstrTypes.h.

Referenced by llvm::OperandBundleUser< InvokeInst, User::op_iterator >::getOperandBundle(), and llvm::OperandBundleDefT< InputTy >::OperandBundleDefT().

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

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

Definition at line 1239 of file InstrTypes.h.

References llvm::LLVMContext::OB_deopt.

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

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

Definition at line 1244 of file InstrTypes.h.

References llvm::LLVMContext::OB_funclet.

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

References AMDGPU::RuntimeMD::KernelArg::ReadOnly.

Member Data Documentation

ArrayRef<Use> llvm::OperandBundleUse::Inputs

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