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)
 AttrBuilder (const AttrBuilder &B)
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 384 of file Attributes.h.


Member Typedef Documentation

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

Definition at line 468 of file Attributes.h.

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

Definition at line 467 of file Attributes.h.

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

Definition at line 466 of file Attributes.h.


Constructor & Destructor Documentation

llvm::AttrBuilder::AttrBuilder ( ) [inline]

Definition at line 390 of file Attributes.h.

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

Definition at line 391 of file Attributes.h.

References addRawValue().

llvm::AttrBuilder::AttrBuilder ( const Attribute A) [inline]

Definition at line 395 of file Attributes.h.

References addAttribute().

AttrBuilder::AttrBuilder ( AttributeSet  AS,
unsigned  Idx 
)
llvm::AttrBuilder::AttrBuilder ( const AttrBuilder B) [inline]

Definition at line 399 of file Attributes.h.


Member Function Documentation

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 1030 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)
AttrBuilder & AttrBuilder::addAttribute ( Attribute  A)
AttrBuilder & AttrBuilder::addAttribute ( StringRef  A,
StringRef  V = StringRef() 
)

Add the target-dependent attribute to the builder.

Definition at line 974 of file Attributes.cpp.

References llvm::ARM_PROC::A.

AttrBuilder & AttrBuilder::addRawValue ( uint64_t  Val)
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 1041 of file Attributes.cpp.

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

void AttrBuilder::clear ( )

Definition at line 945 of file Attributes.cpp.

bool llvm::AttrBuilder::contains ( Attribute::AttrKind  A) const [inline]

Return true if the builder has the specified attribute.

Definition at line 428 of file Attributes.h.

References llvm::ARM_PROC::A, and llvm::Attribute::EndAttrKinds.

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

bool AttrBuilder::contains ( StringRef  A) const

Return true if the builder has the specified target-dependent attribute.

Definition at line 1070 of file Attributes.cpp.

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

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

Definition at line 463 of file Attributes.h.

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

Retrieve the alignment attribute, if it exists.

Definition at line 448 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 451 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 1103 of file Attributes.cpp.

bool AttrBuilder::hasAttributes ( ) const

Return true if the builder has IR-level attributes.

Definition at line 1074 of file Attributes.cpp.

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

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

Add the attributes from the builder.

Definition at line 1053 of file Attributes.cpp.

References I.

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

Definition at line 479 of file Attributes.h.

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

Definition at line 1107 of file Attributes.cpp.

References I.

AttrBuilder & AttrBuilder::removeAttribute ( Attribute::AttrKind  Val)

Remove an attribute from the builder.

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

References I.

AttrBuilder & AttrBuilder::removeAttributes ( AttributeSet  A,
uint64_t  Index 
)
td_iterator llvm::AttrBuilder::td_begin ( ) [inline]

Definition at line 470 of file Attributes.h.

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

td_const_iterator llvm::AttrBuilder::td_begin ( ) const [inline]

Definition at line 473 of file Attributes.h.

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

Definition at line 476 of file Attributes.h.

td_iterator llvm::AttrBuilder::td_end ( ) [inline]

Definition at line 471 of file Attributes.h.

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

td_const_iterator llvm::AttrBuilder::td_end ( ) const [inline]

Definition at line 474 of file Attributes.h.


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