LLVM API Documentation
#include <Attributes.h>
Public Types | |
typedef std::pair< std::string, std::string > | td_type |
typedef std::map< std::string, std::string >::iterator | td_iterator |
typedef std::map< std::string, std::string >::const_iterator | td_const_iterator |
Public Member Functions | |
AttrBuilder () | |
AttrBuilder (uint64_t Val) | |
AttrBuilder (const Attribute &A) | |
AttrBuilder (AttributeSet AS, unsigned Idx) | |
AttrBuilder (const AttrBuilder &B) | |
void | clear () |
AttrBuilder & | addAttribute (Attribute::AttrKind Val) |
Add an attribute to the builder. More... | |
AttrBuilder & | addAttribute (Attribute A) |
Add the Attribute object to the builder. More... | |
AttrBuilder & | addAttribute (StringRef A, StringRef V=StringRef()) |
Add the target-dependent attribute to the builder. More... | |
AttrBuilder & | removeAttribute (Attribute::AttrKind Val) |
Remove an attribute from the builder. More... | |
AttrBuilder & | removeAttributes (AttributeSet A, uint64_t Index) |
Remove the attributes from the builder. More... | |
AttrBuilder & | removeAttribute (StringRef A) |
Remove the target-dependent attribute to the builder. More... | |
AttrBuilder & | merge (const AttrBuilder &B) |
Add the attributes from the builder. More... | |
bool | contains (Attribute::AttrKind A) const |
Return true if the builder has the specified attribute. More... | |
bool | contains (StringRef A) const |
Return true if the builder has the specified target-dependent attribute. More... | |
bool | hasAttributes () const |
Return true if the builder has IR-level attributes. More... | |
bool | hasAttributes (AttributeSet A, uint64_t Index) const |
Return true if the builder has any attribute that's in the specified attribute. More... | |
bool | hasAlignmentAttr () const |
Return true if the builder has an alignment attribute. More... | |
uint64_t | getAlignment () const |
Retrieve the alignment attribute, if it exists. More... | |
uint64_t | getStackAlignment () const |
Retrieve the stack alignment attribute, if it exists. More... | |
AttrBuilder & | addAlignmentAttr (unsigned Align) |
This turns an int alignment (which must be a power of 2) into the form used internally in Attribute. More... | |
AttrBuilder & | addStackAlignmentAttr (unsigned Align) |
This turns an int stack alignment (which must be a power of 2) into the form used internally in Attribute. More... | |
bool | empty () const |
Return true if the builder contains no target-independent attributes. More... | |
td_iterator | td_begin () |
td_iterator | td_end () |
td_const_iterator | td_begin () const |
td_const_iterator | td_end () const |
bool | td_empty () const |
bool | operator== (const AttrBuilder &B) |
bool | operator!= (const AttrBuilder &B) |
AttrBuilder & | addRawValue (uint64_t Val) |
Add the raw value to the internal representation. More... | |
Definition at line 390 of file Attributes.h.
typedef std::map<std::string, std::string>::const_iterator llvm::AttrBuilder::td_const_iterator |
Definition at line 474 of file Attributes.h.
typedef std::map<std::string, std::string>::iterator llvm::AttrBuilder::td_iterator |
Definition at line 473 of file Attributes.h.
typedef std::pair<std::string, std::string> llvm::AttrBuilder::td_type |
Definition at line 472 of file Attributes.h.
|
inline |
Definition at line 396 of file Attributes.h.
|
inlineexplicit |
Definition at line 397 of file Attributes.h.
References addRawValue().
|
inline |
Definition at line 401 of file Attributes.h.
References addAttribute().
AttrBuilder::AttrBuilder | ( | AttributeSet | AS, |
unsigned | Idx | ||
) |
Definition at line 947 of file Attributes.cpp.
References addAttribute(), llvm::AttributeSetImpl::begin(), llvm::AttributeSetImpl::end(), llvm::AttributeSetImpl::getNumAttributes(), llvm::AttributeSetImpl::getSlotIndex(), I, and llvm::ARM_PROC::IE.
|
inline |
Definition at line 405 of file Attributes.h.
AttrBuilder & AttrBuilder::addAlignmentAttr | ( | unsigned | Align | ) |
This turns an int alignment (which must be a power of 2) into the form used internally in Attribute.
Definition at line 1048 of file Attributes.cpp.
References Align(), llvm::Attribute::Alignment, and llvm::isPowerOf2_32().
Referenced by decodeLLVMAttributesForBitcode(), LLVMSetInstrParamAlignment(), and LLVMSetParamAlignment().
AttrBuilder & AttrBuilder::addAttribute | ( | Attribute::AttrKind | Val | ) |
Add an attribute to the builder.
Definition at line 968 of file Attributes.cpp.
References llvm::Attribute::Alignment, llvm::Attribute::EndAttrKinds, and llvm::Attribute::StackAlignment.
Referenced by llvm::AttributeSet::addAttribute(), addAttribute(), llvm::AttributeSet::addAttributes(), AdjustCallerSSPLevel(), AttrBuilder(), LLVMAddTargetDependentFunctionAttr(), and llvm::AttributeFuncs::typeIncompatible().
AttrBuilder & AttrBuilder::addAttribute | ( | Attribute | A | ) |
Add the Attribute object to the builder.
Definition at line 976 of file Attributes.cpp.
References addAttribute(), llvm::Attribute::Alignment, llvm::Attribute::getAlignment(), llvm::Attribute::getKindAsEnum(), llvm::Attribute::getKindAsString(), llvm::Attribute::getStackAlignment(), llvm::Attribute::getValueAsString(), llvm::Attribute::isStringAttribute(), and llvm::Attribute::StackAlignment.
AttrBuilder & AttrBuilder::addAttribute | ( | StringRef | A, |
StringRef | V = StringRef() |
||
) |
Add the target-dependent attribute to the builder.
Definition at line 992 of file Attributes.cpp.
References llvm::ARM_PROC::A.
AttrBuilder & AttrBuilder::addRawValue | ( | uint64_t | Val | ) |
Add the raw value to the internal representation.
Definition at line 1137 of file Attributes.cpp.
References llvm::ARM_PROC::A, llvm::Attribute::Alignment, llvm::Attribute::EndAttrKinds, llvm::AttributeImpl::getAttrMask(), I, llvm::Attribute::None, and llvm::Attribute::StackAlignment.
Referenced by AttrBuilder(), and decodeLLVMAttributesForBitcode().
AttrBuilder & AttrBuilder::addStackAlignmentAttr | ( | unsigned | Align | ) |
This turns an int stack alignment (which must be a power of 2) into the form used internally in Attribute.
Definition at line 1059 of file Attributes.cpp.
References Align(), llvm::isPowerOf2_32(), and llvm::Attribute::StackAlignment.
void AttrBuilder::clear | ( | ) |
Definition at line 963 of file Attributes.cpp.
|
inline |
Return true if the builder has the specified attribute.
Definition at line 434 of file Attributes.h.
References llvm::ARM_PROC::A, and llvm::Attribute::EndAttrKinds.
Referenced by llvm::AttributeSet::get().
Return true if the builder has the specified target-dependent attribute.
Definition at line 1088 of file Attributes.cpp.
|
inline |
Return true if the builder contains no target-independent attributes.
Definition at line 469 of file Attributes.h.
|
inline |
Retrieve the alignment attribute, if it exists.
Definition at line 454 of file Attributes.h.
Referenced by llvm::AttributeSet::get().
|
inline |
Retrieve the stack alignment attribute, if it exists.
Definition at line 457 of file Attributes.h.
Referenced by llvm::AttributeSet::get().
bool AttrBuilder::hasAlignmentAttr | ( | ) | const |
Return true if the builder has an alignment attribute.
Definition at line 1121 of file Attributes.cpp.
bool AttrBuilder::hasAttributes | ( | ) | const |
Return true if the builder has IR-level attributes.
Definition at line 1092 of file Attributes.cpp.
Referenced by llvm::AttributeSet::get().
bool AttrBuilder::hasAttributes | ( | AttributeSet | A, |
uint64_t | Index | ||
) | const |
Return true if the builder has any attribute that's in the specified attribute.
Definition at line 1096 of file Attributes.cpp.
References llvm::AttributeSet::begin(), llvm::AttributeSet::end(), llvm::Attribute::getKindAsString(), llvm::AttributeSet::getNumSlots(), llvm::AttributeSet::getSlotIndex(), I, llvm::Attribute::isAlignAttribute(), llvm::Attribute::isEnumAttribute(), and llvm::Attribute::isStringAttribute().
AttrBuilder & AttrBuilder::merge | ( | const AttrBuilder & | B | ) |
|
inline |
Definition at line 485 of file Attributes.h.
bool AttrBuilder::operator== | ( | const AttrBuilder & | B | ) |
Definition at line 1125 of file Attributes.cpp.
References I.
AttrBuilder & AttrBuilder::removeAttribute | ( | Attribute::AttrKind | Val | ) |
Remove an attribute from the builder.
Definition at line 997 of file Attributes.cpp.
References llvm::Attribute::Alignment, llvm::Attribute::EndAttrKinds, and llvm::Attribute::StackAlignment.
AttrBuilder & AttrBuilder::removeAttribute | ( | StringRef | A | ) |
Remove the target-dependent attribute to the builder.
Definition at line 1041 of file Attributes.cpp.
References I.
AttrBuilder & AttrBuilder::removeAttributes | ( | AttributeSet | A, |
uint64_t | Index | ||
) |
Remove the attributes from the builder.
Definition at line 1009 of file Attributes.cpp.
References llvm::Attribute::Alignment, llvm::AttributeSet::begin(), llvm::AttributeSet::end(), llvm::Attribute::getKindAsString(), llvm::AttributeSet::getNumSlots(), llvm::AttributeSet::getSlotIndex(), I, llvm::Attribute::isAlignAttribute(), llvm::Attribute::isEnumAttribute(), llvm::Attribute::isStringAttribute(), and llvm::Attribute::StackAlignment.
Referenced by llvm::AttributeSet::removeAttributes().
|
inline |
Definition at line 476 of file Attributes.h.
Referenced by llvm::AttributeSet::get().
|
inline |
Definition at line 479 of file Attributes.h.
|
inline |
Definition at line 482 of file Attributes.h.
|
inline |
Definition at line 477 of file Attributes.h.
Referenced by llvm::AttributeSet::get().
|
inline |
Definition at line 480 of file Attributes.h.