MLIR
20.0.0git
|
Location objects represent source locations information in MLIR. More...
#include "mlir/IR/Location.h"
Public Member Functions | |
WalkResult | walk (function_ref< WalkResult(Location)> walkFn) |
Walk all of the locations nested directly under, and including, the current. More... | |
template<typename T > | |
T | findInstanceOf () |
Return an instance of the given location type if one is nested under the current location. More... | |
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 | |
Attribute & | operator= (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 > | |
U | dyn_cast () const |
template<typename U > | |
U | dyn_cast_or_null () const |
template<typename U > | |
U | cast () const |
TypeID | getTypeID () |
Return a unique identifier for the concrete attribute type. More... | |
MLIRContext * | getContext () const |
Return the context this attribute belongs to. More... | |
Dialect & | getDialect () 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 AbstractTy & | getAbstractAttribute () 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... | |
ImplType * | getImpl () const |
Return the internal Attribute implementation. More... | |
Static Public Member Functions | |
static bool | classof (Attribute attr) |
Methods for support type inquiry through isa, cast, and dyn_cast. 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 | |
ImplType * | impl {nullptr} |
Location objects represent source locations information in MLIR.
LocationAttr acts as the anchor for all Location based attributes.
Definition at line 31 of file Location.h.
|
constexprdefault |
|
default |
|
inline |
Definition at line 38 of file Attributes.h.
|
static |
Methods for support type inquiry through isa, cast, and dyn_cast.
Definition at line 140 of file Location.cpp.
References mlir::Attribute::hasTrait().
|
inline |
Return an instance of the given location type if one is nested under the current location.
Returns nullptr if one could not be found.
Definition at line 44 of file Location.h.
References mlir::WalkResult::advance(), mlir::WalkResult::interrupt(), and walk().
Referenced by addScopeToFunction(), convertDeclareTargetAttr(), mlir::SourceMgrDiagnosticHandler::emitDiagnostic(), and mlir::query::printMatch().
WalkResult LocationAttr::walk | ( | function_ref< WalkResult(Location)> | walkFn | ) |
Walk all of the locations nested directly under, and including, the current.
This means that if a location is nested under a non-location attribute, it will not be walked by this method. This walk is performed in pre-order to get this behavior.
Definition at line 127 of file Location.cpp.
References mlir::AttrTypeWalker::addWalk(), mlir::PreOrder, mlir::WalkResult::skip(), and mlir::AttrTypeWalker::walk().
Referenced by collectLocationsFromLoc(), findInstanceOf(), and getLocationFromLoc().