MLIR  20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
mlir::LLVM::TBAANodeAttr Class Reference

Base class for LLVM attributes participating in the TBAA graph. More...

#include "mlir/Dialect/LLVMIR/LLVMAttrs.h"

+ Inheritance diagram for mlir::LLVM::TBAANodeAttr:

Public Member Functions

constexpr Attribute ()=default
 
 Attribute (const ImplType *impl)
 
 Attribute (const Attribute &other)=default
 
- Public Member Functions inherited from mlir::Attribute
constexpr Attribute ()=default
 
 Attribute (const ImplType *impl)
 
 Attribute (const Attribute &other)=default
 
Attributeoperator= (const Attribute &other)=default
 
bool operator== (Attribute other) const
 
bool operator!= (Attribute other) const
 
 operator bool () const
 
bool operator! () const
 
template<typename... Tys>
bool isa () const
 Casting utility functions. More...
 
template<typename... Tys>
bool isa_and_nonnull () const
 
template<typename U >
dyn_cast () const
 
template<typename U >
dyn_cast_or_null () const
 
template<typename U >
cast () const
 
TypeID getTypeID ()
 Return a unique identifier for the concrete attribute type. More...
 
MLIRContextgetContext () const
 Return the context this attribute belongs to. More...
 
DialectgetDialect () const
 Get the dialect this attribute is registered to. More...
 
void print (raw_ostream &os, bool elideType=false) const
 Print the attribute. More...
 
void print (raw_ostream &os, AsmState &state, bool elideType=false) const
 
void dump () const
 
void printStripped (raw_ostream &os) const
 Print the attribute without dialect wrapping. More...
 
void printStripped (raw_ostream &os, AsmState &state) const
 
const void * getAsOpaquePointer () const
 Get an opaque pointer to the attribute. More...
 
template<typename InterfaceT >
bool hasPromiseOrImplementsInterface ()
 Returns true if InterfaceT has been promised by the dialect or implemented. More...
 
template<template< typename T > class Trait>
bool hasTrait ()
 Returns true if the type was registered with a particular trait. More...
 
const AbstractTygetAbstractAttribute () const
 Return the abstract descriptor for this attribute. More...
 
void walkImmediateSubElements (function_ref< void(Attribute)> walkAttrsFn, function_ref< void(Type)> walkTypesFn) const
 Walk all of the immediately nested sub-attributes and sub-types. More...
 
auto replaceImmediateSubElements (ArrayRef< Attribute > replAttrs, ArrayRef< Type > replTypes) const
 Replace the immediately nested sub-attributes and sub-types with those provided. More...
 
template<WalkOrder Order = WalkOrder::PostOrder, typename... WalkFns>
auto walk (WalkFns &&...walkFns)
 Walk this attribute and all attibutes/types nested within using the provided walk functions. More...
 
template<typename... ReplacementFns>
auto replace (ReplacementFns &&...replacementFns)
 Recursively replace all of the nested sub-attributes and sub-types using the provided map functions. More...
 
ImplTypegetImpl () const
 Return the internal Attribute implementation. More...
 

Static Public Member Functions

static bool classof (Attribute attr)
 Support LLVM type casting. More...
 
static TBAANodeAttr getFromOpaquePointer (const void *pointer)
 Required by DenseMapInfo to create empty and tombstone key. More...
 
- Static Public Member Functions inherited from mlir::Attribute
static Attribute getFromOpaquePointer (const void *ptr)
 Construct an attribute from the opaque pointer representation. More...
 

Additional Inherited Members

- Public Types inherited from mlir::Attribute
template<typename ConcreteType , typename BaseType , typename StorageType , template< typename T > class... Traits>
using AttrBase = detail::StorageUserBase< ConcreteType, BaseType, StorageType, detail::AttributeUniquer, Traits... >
 Utility class for implementing attributes. More...
 
using ImplType = AttributeStorage
 
using ValueType = void
 
using AbstractTy = AbstractAttribute
 
- Protected Attributes inherited from mlir::Attribute
ImplTypeimpl {nullptr}
 

Detailed Description

Base class for LLVM attributes participating in the TBAA graph.

Definition at line 73 of file LLVMAttrs.h.

Member Function Documentation

◆ Attribute() [1/3]

constexpr mlir::Attribute::Attribute
constexprdefault

◆ Attribute() [2/3]

mlir::Attribute::Attribute
default

◆ Attribute() [3/3]

mlir::Attribute::Attribute
inline

Definition at line 38 of file Attributes.h.

◆ classof()

bool TBAANodeAttr::classof ( Attribute  attr)
static

Support LLVM type casting.

Definition at line 110 of file LLVMAttrs.cpp.

◆ getFromOpaquePointer()

static TBAANodeAttr mlir::LLVM::TBAANodeAttr::getFromOpaquePointer ( const void *  pointer)
inlinestatic

Required by DenseMapInfo to create empty and tombstone key.

Definition at line 81 of file LLVMAttrs.h.


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