LLVM API Documentation
#include <AttributeImpl.h>
Public Types | |
typedef AttributeSetNode::iterator | iterator |
Public Member Functions | |
AttributeSetImpl (LLVMContext &C, ArrayRef< std::pair< unsigned, AttributeSetNode * > > Attrs) | |
LLVMContext & | getContext () |
Get the context that created this AttributeSetImpl. | |
unsigned | getNumAttributes () const |
Return the number of attributes this AttributeSet contains. | |
unsigned | getSlotIndex (unsigned Slot) const |
Get the index of the given "slot" in the AttrNodes list. This index is the index of the return, parameter, or function object that the attributes are applied to, not the index into the AttrNodes list where the attributes reside. | |
AttributeSet | getSlotAttributes (unsigned Slot) const |
Retrieve the attributes for the given "slot" in the AttrNode list. Slot is an index into the AttrNodes list, not the index of the return / parameter/ function which the attributes apply to. | |
AttributeSetNode * | getSlotNode (unsigned Slot) const |
Retrieve the attribute set node for the given "slot" in the AttrNode list. | |
iterator | begin (unsigned Slot) const |
iterator | end (unsigned Slot) const |
void | Profile (FoldingSetNodeID &ID) const |
uint64_t | Raw (unsigned Index) const |
void | dump () const |
Static Public Member Functions | |
static void | Profile (FoldingSetNodeID &ID, ArrayRef< std::pair< unsigned, AttributeSetNode * > > Nodes) |
Friends | |
class | AttributeSet |
Definition at line 188 of file AttributeImpl.h.
Definition at line 249 of file AttributeImpl.h.
llvm::AttributeSetImpl::AttributeSetImpl | ( | LLVMContext & | C, |
ArrayRef< std::pair< unsigned, AttributeSetNode * > > | Attrs | ||
) | [inline] |
Definition at line 205 of file AttributeImpl.h.
iterator llvm::AttributeSetImpl::begin | ( | unsigned | Slot | ) | const [inline] |
Definition at line 250 of file AttributeImpl.h.
References llvm::AttributeSetNode::begin(), and getSlotNode().
Referenced by llvm::AttributeSet::addAttributes(), and llvm::AttrBuilder::AttrBuilder().
void AttributeSetImpl::dump | ( | ) | const |
Definition at line 567 of file Attributes.cpp.
References AttributeSet.
iterator llvm::AttributeSetImpl::end | ( | unsigned | Slot | ) | const [inline] |
Definition at line 251 of file AttributeImpl.h.
References llvm::AttributeSetNode::end(), and getSlotNode().
Referenced by llvm::AttributeSet::addAttributes(), and llvm::AttrBuilder::AttrBuilder().
LLVMContext& llvm::AttributeSetImpl::getContext | ( | ) | [inline] |
Get the context that created this AttributeSetImpl.
Definition at line 223 of file AttributeImpl.h.
unsigned llvm::AttributeSetImpl::getNumAttributes | ( | ) | const [inline] |
Return the number of attributes this AttributeSet contains.
Definition at line 226 of file AttributeImpl.h.
Referenced by llvm::AttributeSet::addAttributes(), llvm::AttrBuilder::AttrBuilder(), llvm::AttributeSet::get(), Profile(), Raw(), and llvm::AttributeSet::removeAttributes().
AttributeSet llvm::AttributeSetImpl::getSlotAttributes | ( | unsigned | Slot | ) | const [inline] |
Retrieve the attributes for the given "slot" in the AttrNode list. Slot
is an index into the AttrNodes list, not the index of the return / parameter/ function which the attributes apply to.
Definition at line 239 of file AttributeImpl.h.
Referenced by llvm::AttributeSet::removeAttributes().
unsigned llvm::AttributeSetImpl::getSlotIndex | ( | unsigned | Slot | ) | const [inline] |
Get the index of the given "slot" in the AttrNodes list. This index is the index of the return, parameter, or function object that the attributes are applied to, not the index into the AttrNodes list where the attributes reside.
Definition at line 232 of file AttributeImpl.h.
Referenced by llvm::AttrBuilder::AttrBuilder(), and Raw().
AttributeSetNode* llvm::AttributeSetImpl::getSlotNode | ( | unsigned | Slot | ) | const [inline] |
Retrieve the attribute set node for the given "slot" in the AttrNode list.
Definition at line 245 of file AttributeImpl.h.
void llvm::AttributeSetImpl::Profile | ( | FoldingSetNodeID & | ID | ) | const [inline] |
Definition at line 253 of file AttributeImpl.h.
References getNumAttributes(), and llvm::makeArrayRef().
static void llvm::AttributeSetImpl::Profile | ( | FoldingSetNodeID & | ID, |
ArrayRef< std::pair< unsigned, AttributeSetNode * > > | Nodes | ||
) | [inline, static] |
Definition at line 256 of file AttributeImpl.h.
References llvm::FoldingSetNodeID::AddInteger(), and llvm::FoldingSetNodeID::AddPointer().
uint64_t AttributeSetImpl::Raw | ( | unsigned | Index | ) | const |
Definition at line 536 of file Attributes.cpp.
References llvm::Attribute::Alignment, llvm::AttributeSetNode::begin(), llvm::Attribute::Dereferenceable, llvm::AttributeSetNode::end(), llvm::AttributeSetNode::getAlignment(), llvm::AttributeImpl::getAttrMask(), llvm::Attribute::getKindAsEnum(), getNumAttributes(), getSlotIndex(), getSlotNode(), llvm::AttributeSetNode::getStackAlignment(), I, llvm::ARM_PROC::IE, llvm::Attribute::isStringAttribute(), llvm_unreachable, llvm::Log2_32(), and llvm::Attribute::StackAlignment.
friend class AttributeSet [friend] |
Definition at line 189 of file AttributeImpl.h.
Referenced by dump().