[RTG] Use tablegen generated pass registration

This commit is contained in:
Martin Erhart 2025-07-29 16:36:25 +01:00 committed by Martin Erhart
parent 01a53d4552
commit 327def313c
5 changed files with 17 additions and 8 deletions

View File

@ -20,7 +20,7 @@ extern "C" {
//===----------------------------------------------------------------------===//
MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(RTG, rtg);
MLIR_CAPI_EXPORTED void registerRTGPasses(void);
MLIR_CAPI_EXPORTED void registerRTGPipelines(void);
//===----------------------------------------------------------------------===//
// Type API.
@ -189,4 +189,6 @@ MLIR_CAPI_EXPORTED MlirAttribute rtgAnyContextAttrGet(MlirContext ctxt,
}
#endif
#include "circt/Dialect/RTG/Transforms/RTGPasses.capi.h.inc"
#endif // CIRCT_C_DIALECT_RTG_H

View File

@ -1,5 +1,7 @@
set(LLVM_TARGET_DEFINITIONS RTGPasses.td)
mlir_tablegen(RTGPasses.h.inc -gen-pass-decls)
mlir_tablegen(RTGPasses.h.inc -gen-pass-decls -name RTG)
mlir_tablegen(RTGPasses.capi.h.inc -gen-pass-capi-header -prefix RTG)
mlir_tablegen(RTGPasses.capi.cpp.inc -gen-pass-capi-impl -prefix RTG)
add_public_tablegen_target(CIRCTRTGTransformsIncGen)
# Generate Pass documentation.

View File

@ -78,7 +78,7 @@ inline void registerAllPasses() {
msft::registerPasses();
om::registerPasses();
pipeline::registerPasses();
rtg::registerPasses();
rtg::registerRTGPasses();
seq::registerPasses();
sim::registerPasses();
ssp::registerPasses();

View File

@ -60,7 +60,8 @@ static void registerPasses() {
registerFSMPasses();
registerHWArithPasses();
registerHWPasses();
registerRTGPasses();
mlirRegisterRTGPasses();
registerRTGPipelines();
registerHandshakePasses();
registerKanagawaPasses();
registerPipelinePasses();

View File

@ -13,6 +13,7 @@
#include "circt/Dialect/RTG/Transforms/RTGPassPipelines.h"
#include "circt/Dialect/RTG/Transforms/RTGPasses.h"
#include "mlir/CAPI/Pass.h"
#include "mlir/CAPI/Registration.h"
using namespace circt;
@ -24,10 +25,7 @@ using namespace circt::rtg;
MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(RTG, rtg, RTGDialect)
void registerRTGPasses() {
circt::rtg::registerPasses();
circt::rtg::registerPipelines();
}
void registerRTGPipelines() { circt::rtg::registerPipelines(); }
//===----------------------------------------------------------------------===//
// Type API.
@ -283,3 +281,9 @@ bool rtgAttrIsAAnyContextAttr(MlirAttribute attr) {
MlirAttribute rtgAnyContextAttrGet(MlirContext ctxt, MlirType type) {
return wrap(AnyContextAttr::get(unwrap(ctxt), unwrap(type)));
}
//===----------------------------------------------------------------------===//
// Passes
//===----------------------------------------------------------------------===//
#include "circt/Dialect/RTG/Transforms/RTGPasses.capi.cpp.inc"