13 #ifndef MLIR_IR_ATTRIBUTESUPPORT_H    14 #define MLIR_IR_ATTRIBUTESUPPORT_H    18 #include "llvm/ADT/PointerIntPair.h"    29 class AttributeUniquer;
    44     assert(dialect && 
"Malformed attribute storage object.");
    45     return const_cast<Dialect &
>(*dialect);
    57   void setType(
Type type);
    92   template <
typename T, 
typename... Args>
    93   static T 
get(
MLIRContext *ctx, 
unsigned kind, Args &&... args) {
    94     return ctx->getAttributeUniquer().
get<
typename T::ImplType>(
    95         getInitFn(ctx, T::getClassID()), kind, std::forward<Args>(args)...);
   100   static std::function<void(AttributeStorage *)>
 Definition: InferTypeOpInterface.cpp:20
 
Definition: STLExtras.h:95
 
Definition: Attributes.h:139
 
Definition: StorageUniquer.h:89
 
static T get(MLIRContext *ctx, unsigned kind, Args &&... args)
Get an uniqued instance of attribute T. 
Definition: AttributeSupport.h:93
 
Definition: StorageUniquer.h:64
 
Definition: StorageUniquer.h:71
 
void initializeDialect(Dialect &newDialect)
Definition: AttributeSupport.h:61
 
Definition: MLIRContext.h:34
 
Definition: AttributeSupport.h:34
 
Dialect & getDialect() const
Get the dialect of this attribute. 
Definition: AttributeSupport.h:43
 
Definition: AttributeSupport.h:89