LLVM API Documentation

Public Types | Public Member Functions
llvm::AttrBuilder Class Reference

#include <Attributes.h>

List of all members.

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)
void clear ()
AttrBuilderaddAttribute (Attribute::AttrKind Val)
 Add an attribute to the builder.
AttrBuilderaddAttribute (Attribute A)
 Add the Attribute object to the builder.
AttrBuilderaddAttribute (StringRef A, StringRef V=StringRef())
 Add the target-dependent attribute to the builder.
AttrBuilderremoveAttribute (Attribute::AttrKind Val)
 Remove an attribute from the builder.
AttrBuilderremoveAttributes (AttributeSet A, uint64_t Index)
 Remove the attributes from the builder.
AttrBuilderremoveAttribute (StringRef A)
 Remove the target-dependent attribute to the builder.
AttrBuildermerge (const AttrBuilder &B)
 Add the attributes from the builder.
bool contains (Attribute::AttrKind A) const
 Return true if the builder has the specified attribute.
bool contains (StringRef A) const
 Return true if the builder has the specified target-dependent attribute.
bool hasAttributes () const
 Return true if the builder has IR-level attributes.
bool hasAttributes (AttributeSet A, uint64_t Index) const
 Return true if the builder has any attribute that's in the specified attribute.
bool hasAlignmentAttr () const
 Return true if the builder has an alignment attribute.
uint64_t getAlignment () const
 Retrieve the alignment attribute, if it exists.
uint64_t getStackAlignment () const
 Retrieve the stack alignment attribute, if it exists.
AttrBuilderaddAlignmentAttr (unsigned Align)
 This turns an int alignment (which must be a power of 2) into the form used internally in Attribute.
AttrBuilderaddStackAlignmentAttr (unsigned Align)
 This turns an int stack alignment (which must be a power of 2) into the form used internally in Attribute.
bool empty () const
 Return true if the builder contains no target-independent attributes.
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)
AttrBuilderaddRawValue (uint64_t Val)
 Add the raw value to the internal representation.

Detailed Description

Definition at line 391 of file Attributes.h.


Member Typedef Documentation

typedef std::map<std::string, std::string>::const_iterator llvm::AttrBuilder::td_const_iterator

Definition at line 471 of file Attributes.h.

typedef std::map<std::string, std::string>::iterator llvm::AttrBuilder::td_iterator

Definition at line 470 of file Attributes.h.

typedef std::pair<std::string, std::string> llvm::AttrBuilder::td_type

Definition at line 469 of file Attributes.h.


Constructor & Destructor Documentation

Definition at line 397 of file Attributes.h.

llvm::AttrBuilder::AttrBuilder ( uint64_t  Val) [inline, explicit]

Definition at line 398 of file Attributes.h.

References addRawValue().

Definition at line 402 of file Attributes.h.

References addAttribute().


Member Function Documentation

This turns an int alignment (which must be a power of 2) into the form used internally in Attribute.

Definition at line 1052 of file Attributes.cpp.

References Align(), llvm::Attribute::Alignment, and llvm::isPowerOf2_32().

Referenced by decodeLLVMAttributesForBitcode(), LLVMSetInstrParamAlignment(), and LLVMSetParamAlignment().

Add the target-dependent attribute to the builder.

Definition at line 996 of file Attributes.cpp.

References llvm::ARM_PROC::A.

This turns an int stack alignment (which must be a power of 2) into the form used internally in Attribute.

Definition at line 1063 of file Attributes.cpp.

References Align(), llvm::isPowerOf2_32(), and llvm::Attribute::StackAlignment.

Definition at line 967 of file Attributes.cpp.

Return true if the builder has the specified attribute.

Definition at line 431 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 1092 of file Attributes.cpp.

bool llvm::AttrBuilder::empty ( ) const [inline]

Return true if the builder contains no target-independent attributes.

Definition at line 466 of file Attributes.h.

uint64_t llvm::AttrBuilder::getAlignment ( ) const [inline]

Retrieve the alignment attribute, if it exists.

Definition at line 451 of file Attributes.h.

Referenced by llvm::AttributeSet::get().

uint64_t llvm::AttrBuilder::getStackAlignment ( ) const [inline]

Retrieve the stack alignment attribute, if it exists.

Definition at line 454 of file Attributes.h.

Referenced by llvm::AttributeSet::get().

Return true if the builder has an alignment attribute.

Definition at line 1125 of file Attributes.cpp.

Return true if the builder has IR-level attributes.

Definition at line 1096 of file Attributes.cpp.

Referenced by llvm::AttributeSet::get().

bool AttrBuilder::hasAttributes ( AttributeSet  A,
uint64_t  Index 
) const

Add the attributes from the builder.

Definition at line 1075 of file Attributes.cpp.

References I.

bool llvm::AttrBuilder::operator!= ( const AttrBuilder B) [inline]

Definition at line 482 of file Attributes.h.

bool AttrBuilder::operator== ( const AttrBuilder B)

Definition at line 1129 of file Attributes.cpp.

References I.

Remove an attribute from the builder.

Definition at line 1001 of file Attributes.cpp.

References llvm::Attribute::Alignment, llvm::Attribute::EndAttrKinds, and llvm::Attribute::StackAlignment.

Remove the target-dependent attribute to the builder.

Definition at line 1045 of file Attributes.cpp.

References I.

Definition at line 473 of file Attributes.h.

Referenced by llvm::AttributeSet::get().

Definition at line 476 of file Attributes.h.

bool llvm::AttrBuilder::td_empty ( ) const [inline]

Definition at line 479 of file Attributes.h.

Definition at line 474 of file Attributes.h.

Referenced by llvm::AttributeSet::get().

Definition at line 477 of file Attributes.h.


The documentation for this class was generated from the following files: