LLVM 17.0.0git
Public Member Functions | List of all members
llvm::IRAttribute< AK, BaseType > Struct Template Reference

Helper class that provides common functionality to manifest IR attributes. More...

#include "llvm/Transforms/IPO/Attributor.h"

Inheritance diagram for llvm::IRAttribute< AK, BaseType >:
Inheritance graph
[legend]

Public Member Functions

 IRAttribute (const IRPosition &IRP)
 
void initialize (Attributor &A) override
 See AbstractAttribute::initialize(...).
 
ChangeStatus manifest (Attributor &A) override
 See AbstractAttribute::manifest(...).
 
Attribute::AttrKind getAttrKind () const
 Return the kind that identifies the abstract attribute implementation.
 
virtual void getDeducedAttributes (LLVMContext &Ctx, SmallVectorImpl< Attribute > &Attrs) const
 Return the deduced attributes in Attrs.
 

Detailed Description

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

Helper class that provides common functionality to manifest IR attributes.

Definition at line 3070 of file Attributor.h.

Constructor & Destructor Documentation

◆ IRAttribute()

template<Attribute::AttrKind AK, typename BaseType >
llvm::IRAttribute< AK, BaseType >::IRAttribute ( const IRPosition IRP)
inline

Definition at line 3071 of file Attributor.h.

Member Function Documentation

◆ getAttrKind()

template<Attribute::AttrKind AK, typename BaseType >
Attribute::AttrKind llvm::IRAttribute< AK, BaseType >::getAttrKind ( ) const
inline

Return the kind that identifies the abstract attribute implementation.

Definition at line 3107 of file Attributor.h.

Referenced by llvm::IRAttribute< AK, BaseType >::getDeducedAttributes(), and llvm::IRAttribute< AK, BaseType >::initialize().

◆ getDeducedAttributes()

template<Attribute::AttrKind AK, typename BaseType >
virtual void llvm::IRAttribute< AK, BaseType >::getDeducedAttributes ( LLVMContext Ctx,
SmallVectorImpl< Attribute > &  Attrs 
) const
inlinevirtual

Return the deduced attributes in Attrs.

Definition at line 3110 of file Attributor.h.

References llvm::Attribute::get(), and llvm::IRAttribute< AK, BaseType >::getAttrKind().

Referenced by llvm::IRAttribute< AK, BaseType >::manifest().

◆ initialize()

template<Attribute::AttrKind AK, typename BaseType >
void llvm::IRAttribute< AK, BaseType >::initialize ( Attributor A)
inlineoverride

◆ manifest()

template<Attribute::AttrKind AK, typename BaseType >
ChangeStatus llvm::IRAttribute< AK, BaseType >::manifest ( Attributor A)
inlineoverride

See AbstractAttribute::manifest(...).

Definition at line 3097 of file Attributor.h.

References A, llvm::IRAttribute< AK, BaseType >::getDeducedAttributes(), llvm::IRAttributeManifest::manifestAttrs(), and llvm::UNCHANGED.


The documentation for this struct was generated from the following file: