@@ -74,9 +74,38 @@ void mlir::python::populatePassManagerSubmodule(py::module &m) {
7474 " Releases (leaks) the backing pass manager (testing)" )
7575 .def (
7676 " enable_ir_printing" ,
77- [](PyPassManager &passManager) {
78- mlirPassManagerEnableIRPrinting (passManager.get ());
77+ [](PyPassManager &passManager, bool printBeforePass,
78+ bool printAfterPass, bool printModuleScope,
79+ bool printAfterOnlyOnChange, bool printAfterOnlyOnFailure,
80+ std::optional<int64_t > largeElementsLimit, bool enableDebugInfo,
81+ bool printGenericOpForm) {
82+ MlirIRPrinterConfig config = mlirIRPrinterConfigCreate ();
83+ mlirPassManagerEnableIRPrinting (passManager.get (), config);
84+ mlirIRPrinterConfigDestroy (config);
85+ // MlirOpPrintingFlags flags = mlirOpPrintingFlagsCreate();
86+ // if (largeElementsLimit)
87+ // mlirOpPrintingFlagsElideLargeElementsAttrs(flags,
88+ // *largeElementsLimit);
89+ // if (enableDebugInfo)
90+ // mlirOpPrintingFlagsEnableDebugInfo(flags, /*enable=*/true,
91+ // /*prettyForm=*/false);
92+ // if (printGenericOpForm)
93+ // mlirOpPrintingFlagsPrintGenericOpForm(flags);
94+ // mlirPassManagerEnableIRPrinting(passManager.get(),
95+ // printBeforePass,
96+ // printAfterPass, printModuleScope,
97+ // printAfterOnlyOnChange,
98+ // printAfterOnlyOnFailure, flags);
99+ // mlirOpPrintingFlagsDestroy(flags);
79100 },
101+ py::arg (" print_before_pass" ) = true ,
102+ py::arg (" print_after_pass" ) = true ,
103+ py::arg (" print_module_scope" ) = true ,
104+ py::arg (" print_after_only_on_change" ) = true ,
105+ py::arg (" print_after_only_on_failure" ) = false ,
106+ py::arg (" large_elements_limit" ) = py::none (),
107+ py::arg (" enable_debug_info" ) = false ,
108+ py::arg (" print_generic_op_form" ) = false ,
80109 " Enable mlir-print-ir-after-all." )
81110 .def (
82111 " enable_verifier" ,
0 commit comments