struct IRAttribute

Declaration

template <Attribute::AttrKind AK, typename Base>
struct IRAttribute : public IRPosition { /* full declaration omitted */ };

Description

Helper class that provides common functionality to manifest IR attributes.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:1639

Inherits from: IRPosition

Templates

Attribute::AttrKind AK
Base

Member Variables

Inherited from IRPosition:

protected AnchorVal
protected KindOrArgNo
public static EmptyKey
public static TombstoneKey

Method Overview

Inherited from IRPosition:

Methods

IRAttribute<AK, Base>(const llvm::IRPosition& IRP)

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:1640

Parameters

const llvm::IRPosition& IRP

Attribute::AttrKind getAttrKind() const

Description

Return the kind that identifies the abstract attribute implementation.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:1674

virtual void getDeducedAttributes(
    llvm::LLVMContext& Ctx,
    SmallVectorImpl<llvm::Attribute>& Attrs) const

Description

Return the deduced attributes in \p Attrs.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:1677

Parameters

llvm::LLVMContext& Ctx
SmallVectorImpl<llvm::Attribute>& Attrs

const llvm::IRPosition& getIRPosition() const

Description

Return an IR position, see struct IRPosition.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:1683

virtual void initialize(llvm::Attributor& A)

Description

See AbstractAttribute::initialize(...).

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:1644

Parameters

llvm::Attributor& A

llvm::ChangeStatus manifest(llvm::Attributor& A)

Description

See AbstractAttribute::manifest(...).

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:1665

Parameters

llvm::Attributor& A

~IRAttribute<AK, Base>()

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:1641