17#include "mlir/IR/Builders.h" 
   18#include "mlir/IR/BuiltinTypes.h" 
   19#include "mlir/IR/DialectImplementation.h" 
   20#include "llvm/ADT/TypeSwitch.h" 
   29void RTGTestDialect::initialize() {
 
   35#include "circt/Dialect/RTGTest/IR/RTGTest.cpp.inc" 
   46Operation *RTGTestDialect::materializeConstant(OpBuilder &builder,
 
   47                                               Attribute value, Type type,
 
   49  return TypeSwitch<Attribute, Operation *>(value)
 
   50      .Case<CPUAttr>([&](
auto attr) -> Operation * {
 
   51        if (isa<CPUType>(type))
 
   52          return rtg::ConstantOp::create(builder, loc, attr);
 
   55      .Case<rtg::RegisterAttrInterface>([&](
auto attr) -> Operation * {
 
   56        if (isa<rtg::RegisterTypeInterface>(type))
 
   57          return rtg::FixedRegisterOp::create(builder, loc, attr);
 
   60      .Default([](
auto attr) { 
return nullptr; });
 
   63#include "circt/Dialect/RTGTest/IR/RTGTestEnums.cpp.inc" 
   65#include "circt/Dialect/RTGTest/IR/RTGTestDialect.cpp.inc" 
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.