11 #include "../PassDetails.h"
18 #define GEN_PASS_DEF_ESICLEANMETADATA
19 #include "circt/Dialect/ESI/ESIPasses.h.inc"
23 using namespace circt;
27 struct ESICleanMetadataPass
28 :
public circt::esi::impl::ESICleanMetadataBase<ESICleanMetadataPass> {
29 void runOnOperation()
override;
33 void ESICleanMetadataPass::runOnOperation() {
34 auto mod = getOperation();
36 mod.walk([&](Operation *op) {
37 TypeSwitch<Operation *>(op)
38 .Case<ServiceDeclOpInterface, ServiceImplRecordOp,
39 ServiceRequestRecordOp, AppIDHierRootOp, IsManifestData>(
40 [](Operation *op) { op->erase(); });
44 std::unique_ptr<OperationPass<ModuleOp>>
46 return std::make_unique<ESICleanMetadataPass>();
std::unique_ptr< OperationPass< ModuleOp > > createESICleanMetadataPass()
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.