Helper class that provides common functionality to manifest IR attributes.

Synopsis

Declared in <llvm/Transforms/IPO/Attributor.h>

template<
    Attribute::AttrKind AK,
    typename BaseType,
    typename AAType>
struct IRAttribute
    : BaseType

Base Classes

Name

Description

BaseType

Member Functions

Name

Description

IRAttribute [constructor]

Construct from IRPosition

getAttrKind

Return the kind that identifies the abstract attribute implementation.

getDeducedAttributes [virtual]

Return the deduced attributes in Attrs.

manifest

See AbstractAttribute::manifest(...).

Static Member Functions

Name

Description

hasTrivialInitializer

Most boolean IRAttribute AAs don't do anything non‐trivial in their initializers while non‐boolean ones often do. Subclasses can change this.

isImpliedByIR

isImpliedByPoison

Return true if the IR attribute(s) associated with this AA are implied for an poison value.

isImpliedByUndef

Return true if the IR attribute(s) associated with this AA are implied for an undef value.

Static Data Members

Name

Description

IRAttributeKind

Compile time access to the IR attribute kind.

Derived Classes

Name

Description

AAAlign

An abstract interface for all align attributes.

AADereferenceable

An abstract interface for all dereferenceable attribute.

AAMemoryBehavior

An abstract interface for memory access kind related attributes (readnone/readonly/writeonly).

AAMemoryLocation

An abstract interface for all memory location attributes (readnone/argmemonly/inaccessiblememonly/inaccessibleorargmemonly).

AAMustProgress

An abstract interface for all nonnull attributes.

AANoAlias

An abstract interface for all noalias attributes.

AANoCapture

An abstract interface for all nocapture attributes.

AANoFPClass

AANoFree

An AbstractAttribute for nofree.

AANoRecurse

An abstract attribute for norecurse.

AANoReturn

An AbstractAttribute for noreturn.

AANoSync

AANoUndef

An abstract interface for all noundef attributes.

AANoUnwind

Abstract attribute for the no‐unwind function attribute. Abstract Attribute Classes ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

AANonNull

An abstract interface for all nonnull attributes.

AAWillReturn

An abstract attribute for willreturn.

Created with MrDocs