18 #include "mlir/Pass/Pass.h"
24 #define GEN_PASS_DEF_VERIFYINNERREFNAMESPACE
25 #include "circt/Dialect/HW/Passes.h.inc"
31 class VerifyInnerRefNamespacePass
32 :
public circt::hw::impl::VerifyInnerRefNamespaceBase<
33 VerifyInnerRefNamespacePass> {
35 void runOnOperation()
override {
36 auto *irnLike = getOperation();
39 return signalPassFailure();
41 return markAllAnalysesPreserved();
43 bool canScheduleOn(mlir::RegisteredOperationName opInfo)
const override {
44 return llvm::isa<circt::hw::InnerRefNamespaceLike>(opInfo);
51 return std::make_unique<VerifyInnerRefNamespacePass>();
This trait is for operations that define a scope for resolving InnerRef's, and provides verification ...
LogicalResult verifyInnerRefNamespace(Operation *op)
std::unique_ptr< mlir::Pass > createVerifyInnerRefNamespacePass()
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.