Jlm
Public Member Functions | Private Attributes | List of all members
jlm::llvm::TypeAttribute Class Referencefinal

Type attribute. More...

#include <attribute.hpp>

Inheritance diagram for jlm::llvm::TypeAttribute:
Inheritance graph
[legend]
Collaboration diagram for jlm::llvm::TypeAttribute:
Collaboration graph
[legend]

Public Member Functions

 ~TypeAttribute () noexcept override
 
 TypeAttribute (Attribute::kind kind, std::shared_ptr< const jlm::rvsdg::Type > type)
 
const jlm::rvsdg::Typetype () const noexcept
 
bool operator== (const Attribute &) const override
 
- Public Member Functions inherited from jlm::llvm::EnumAttribute
 ~EnumAttribute () noexcept override
 
 EnumAttribute (const Attribute::kind &kind)
 
const Attribute::kindkind () const noexcept
 
- Public Member Functions inherited from jlm::llvm::Attribute
virtual ~Attribute () noexcept
 
virtual bool operator!= (const Attribute &other) const
 

Private Attributes

std::shared_ptr< const jlm::rvsdg::Typetype_
 

Additional Inherited Members

- Public Types inherited from jlm::llvm::Attribute
enum class  kind {
  None , FirstEnumAttr , AllocAlign , AllocatedPointer ,
  AlwaysInline , Builtin , Cold , Convergent ,
  CoroDestroyOnlyWhenComplete , DeadOnUnwind , DisableSanitizerInstrumentation , FnRetThunkExtern ,
  Hot , ImmArg , InReg , InlineHint ,
  JumpTable , Memory , MinSize , MustProgress ,
  Naked , Nest , NoAlias , NoBuiltin ,
  NoCallback , NoCapture , NoCfCheck , NoDuplicate ,
  NoFree , NoImplicitFloat , NoInline , NoMerge ,
  NoProfile , NoRecurse , NoRedZone , NoReturn ,
  NoSanitizeBounds , NoSanitizeCoverage , NoSync , NoUndef ,
  NoUnwind , NonLazyBind , NonNull , NullPointerIsValid ,
  OptForFuzzing , OptimizeForDebugging , OptimizeForSize , OptimizeNone ,
  PresplitCoroutine , ReadNone , ReadOnly , Returned ,
  ReturnsTwice , SExt , SafeStack , SanitizeAddress ,
  SanitizeHWAddress , SanitizeMemTag , SanitizeMemory , SanitizeThread ,
  ShadowCallStack , SkipProfile , Speculatable , SpeculativeLoadHardening ,
  StackProtect , StackProtectReq , StackProtectStrong , StrictFP ,
  SwiftAsync , SwiftError , SwiftSelf , WillReturn ,
  Writable , WriteOnly , ZExt , LastEnumAttr ,
  FirstTypeAttr , ByRef , ByVal , ElementType ,
  InAlloca , Preallocated , StructRet , LastTypeAttr ,
  FirstIntAttr , Alignment , AllocKind , AllocSize ,
  Dereferenceable , DereferenceableOrNull , NoFPClass , StackAlignment ,
  UWTable , VScaleRange , LastIntAttr , EndAttrKinds
}
 

Detailed Description

Type attribute.

Definition at line 225 of file attribute.hpp.

Constructor & Destructor Documentation

◆ ~TypeAttribute()

jlm::llvm::TypeAttribute::~TypeAttribute ( )
overridedefaultnoexcept

◆ TypeAttribute()

jlm::llvm::TypeAttribute::TypeAttribute ( Attribute::kind  kind,
std::shared_ptr< const jlm::rvsdg::Type type 
)
inline

Definition at line 230 of file attribute.hpp.

Member Function Documentation

◆ operator==()

bool jlm::llvm::TypeAttribute::operator== ( const Attribute other) const
overridevirtual

Reimplemented from jlm::llvm::EnumAttribute.

Definition at line 43 of file attribute.cpp.

◆ type()

const jlm::rvsdg::Type& jlm::llvm::TypeAttribute::type ( ) const
inlinenoexcept

Definition at line 236 of file attribute.hpp.

Member Data Documentation

◆ type_

std::shared_ptr<const jlm::rvsdg::Type> jlm::llvm::TypeAttribute::type_
private

Definition at line 245 of file attribute.hpp.


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