File tree 4 files changed +54
-6
lines changed
python/mlir/_mlir_libs/_mlir
4 files changed +54
-6
lines changed Original file line number Diff line number Diff line change @@ -76,7 +76,15 @@ mlirPassManagerRunOnOp(MlirPassManager passManager, MlirOperation op);
76
76
77
77
/// Enable mlir-print-ir-after-all.
78
78
MLIR_CAPI_EXPORTED void
79
- mlirPassManagerEnableIRPrinting (MlirPassManager passManager );
79
+ mlirPassManagerEnableIRPrinting (MlirPassManager passManager ,
80
+ bool shouldPrintBeforePass ,
81
+ bool shouldPrintAfterPass ,
82
+ bool printAfterOnlyOnChange ,
83
+ bool printAfterOnlyOnFailure );
84
+
85
+ // Enable timing of passes
86
+ MLIR_CAPI_EXPORTED void
87
+ mlirPassManagerEnableTiming (MlirPassManager passManager );
80
88
81
89
/// Enable / disable verify-each.
82
90
MLIR_CAPI_EXPORTED void
Original file line number Diff line number Diff line change @@ -74,10 +74,27 @@ void mlir::python::populatePassManagerSubmodule(py::module &m) {
74
74
" Releases (leaks) the backing pass manager (testing)" )
75
75
.def (
76
76
" enable_ir_printing" ,
77
- [](PyPassManager &passManager) {
78
- mlirPassManagerEnableIRPrinting (passManager.get ());
77
+ [](PyPassManager &passManager,
78
+ bool print_before_pass,
79
+ bool print_after_pass,
80
+ bool print_after_only_on_change,
81
+ bool print_after_only_on_failure) {
82
+ mlirPassManagerEnableIRPrinting (passManager.get (),
83
+ print_before_pass,
84
+ print_after_pass,
85
+ print_after_only_on_change,
86
+ print_after_only_on_failure);
79
87
},
88
+ " print_before_pass" _a = true , " print_after_pass" _a = true ,
89
+ " print_after_only_on_change" _a = true , " print_after_only_on_failure" _a = false ,
80
90
" Enable mlir-print-ir-after-all." )
91
+ .def (
92
+ " enable_timing" ,
93
+ [](PyPassManager &PyPassManager) {
94
+ mlirPassManagerEnableTiming (PyPassManager.get ());
95
+ },
96
+ " Enable timing of passes"
97
+ )
81
98
.def (
82
99
" enable_verifier" ,
83
100
[](PyPassManager &passManager, bool enable) {
Original file line number Diff line number Diff line change @@ -44,8 +44,23 @@ MlirLogicalResult mlirPassManagerRunOnOp(MlirPassManager passManager,
44
44
return wrap (unwrap (passManager)->run (unwrap (op)));
45
45
}
46
46
47
- void mlirPassManagerEnableIRPrinting (MlirPassManager passManager) {
48
- return unwrap (passManager)->enableIRPrinting ();
47
+ void mlirPassManagerEnableIRPrinting (MlirPassManager passManager,
48
+ bool shouldPrintBeforePass,
49
+ bool shouldPrintAfterPass,
50
+ bool printAfterOnlyOnChange,
51
+ bool printAfterOnlyOnFailure) {
52
+ auto shouldPrintBeforeFn = [shouldPrintBeforePass](Pass *, Operation *) {return shouldPrintBeforePass;};
53
+ auto shouldPrintAfterFn = [shouldPrintAfterPass](Pass *, Operation *) {return shouldPrintAfterPass;};
54
+
55
+ return unwrap (passManager)->enableIRPrinting (shouldPrintBeforeFn,
56
+ shouldPrintAfterFn,
57
+ true ,
58
+ printAfterOnlyOnChange,
59
+ printAfterOnlyOnFailure);
60
+ }
61
+
62
+ void mlirPassManagerEnableTiming (MlirPassManager passManager) {
63
+ return unwrap (passManager)->enableTiming ();
49
64
}
50
65
51
66
void mlirPassManagerEnableVerifier (MlirPassManager passManager, bool enable) {
Original file line number Diff line number Diff line change 4
4
# * Relative imports for cross-module references.
5
5
# * Add __all__
6
6
7
+ from pickle import TRUE
7
8
from typing import Any , Optional
8
9
9
10
from . import ir as _ir
@@ -16,7 +17,14 @@ class PassManager:
16
17
def __init__ (self , context : Optional [_ir .Context ] = None ) -> None : ...
17
18
def _CAPICreate (self ) -> object : ...
18
19
def _testing_release (self ) -> None : ...
19
- def enable_ir_printing (self ) -> None : ...
20
+ def enable_ir_printing (
21
+ self ,
22
+ print_before_pass = True ,
23
+ print_after_pass = True ,
24
+ print_after_only_on_change = True ,
25
+ print_after_only_on_failure = False ,
26
+ ) -> None : ...
27
+ def enable_timing (self ) -> None : ...
20
28
def enable_verifier (self , enable : bool ) -> None : ...
21
29
@staticmethod
22
30
def parse (pipeline : str , context : Optional [_ir .Context ] = None ) -> PassManager : ...
You can’t perform that action at this time.
0 commit comments