22 #include "mlir/IR/Builders.h"
23 #include "mlir/IR/DialectImplementation.h"
24 #include "mlir/IR/ImplicitLocOpBuilder.h"
25 #include "llvm/ADT/DenseMap.h"
26 #include "llvm/ADT/StringMap.h"
27 #include "llvm/ADT/StringSet.h"
28 #include "llvm/Support/FormatVariadic.h"
30 using namespace circt;
33 void ESIDialect::initialize() {
38 #include "circt/Dialect/ESI/ESI.cpp.inc"
42 Operation *ESIDialect::materializeConstant(OpBuilder &builder, Attribute value,
43 Type type, Location loc) {
45 if (
auto intType = dyn_cast<IntegerType>(type))
46 if (
auto attrValue = dyn_cast<IntegerAttr>(value))
49 if (isa<mlir::UnitAttr>(value))
55 #include "circt/Dialect/ESI/ESIEnums.cpp.inc"
57 #include "circt/Dialect/ESI/ESIDialect.cpp.inc"
def create(data_type, value)
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.