Skip to content

Commit 9acadec

Browse files
committed
Address reviews
1 parent d57d60a commit 9acadec

File tree

2 files changed

+31
-14
lines changed

2 files changed

+31
-14
lines changed

mlir/lib/Dialect/Transform/IR/TransformOps.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -815,8 +815,8 @@ transform::ApplyRegisteredPassOp::apply(transform::TransformRewriter &rewriter,
815815
<< dynamicOption[0];
816816
}
817817
} else {
818-
assert(false &&
819-
"expected options element to be either StringAttr or UnitAttr");
818+
llvm_unreachable(
819+
"expected options element to be either StringAttr or UnitAttr");
820820
}
821821
}
822822

@@ -915,8 +915,8 @@ static void printApplyRegisteredPassOptions(OpAsmPrinter &printer,
915915
Operation *op, ArrayAttr options,
916916
ValueRange dynamicOptions) {
917917
size_t currentDynamicOptionIdx = 0;
918-
for (Attribute optionAttr : options) {
919-
if (currentDynamicOptionIdx > 0)
918+
for (auto [idx, optionAttr] : llvm::enumerate(options)) {
919+
if (idx > 0)
920920
printer << " "; // Interleave options separator.
921921

922922
if (isa<UnitAttr>(optionAttr))

mlir/test/Dialect/Transform/test-pass-application.mlir

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,9 @@ module attributes {transform.with_named_sequence} {
7979
%1 = transform.structured.match ops{["func.func"]} in %arg1 : (!transform.any_op) -> !transform.any_op
8080
// expected-error @below {{failed to add pass or pass pipeline to pipeline: canonicalize}}
8181
// expected-error @below {{<Pass-Options-Parser>: no such option invalid-option}}
82-
transform.apply_registered_pass "canonicalize" with options = "invalid-option=1" to %1 : (!transform.any_op) -> !transform.any_op
82+
transform.apply_registered_pass "canonicalize"
83+
with options = "invalid-option=1" to %1
84+
: (!transform.any_op) -> !transform.any_op
8385
transform.yield
8486
}
8587
}
@@ -94,7 +96,9 @@ func.func @valid_pass_option() {
9496
module attributes {transform.with_named_sequence} {
9597
transform.named_sequence @__transform_main(%arg1: !transform.any_op) {
9698
%1 = transform.structured.match ops{["func.func"]} in %arg1 : (!transform.any_op) -> !transform.any_op
97-
transform.apply_registered_pass "canonicalize" with options = "top-down=false" to %1 : (!transform.any_op) -> !transform.any_op
99+
transform.apply_registered_pass "canonicalize"
100+
with options = "top-down=false" to %1
101+
: (!transform.any_op) -> !transform.any_op
98102
transform.yield
99103
}
100104
}
@@ -110,7 +114,9 @@ module attributes {transform.with_named_sequence} {
110114
transform.named_sequence @__transform_main(%arg1: !transform.any_op) {
111115
%1 = transform.structured.match ops{["func.func"]} in %arg1 : (!transform.any_op) -> !transform.any_op
112116
//transform.apply_registered_pass "canonicalize" with options = "top-down=false,max-iterations=10" to %1 : (!transform.any_op) -> !transform.any_op
113-
transform.apply_registered_pass "canonicalize" with options = "top-down=false test-convergence=true" to %1 : (!transform.any_op) -> !transform.any_op
117+
transform.apply_registered_pass "canonicalize"
118+
with options = "top-down=false test-convergence=true" to %1
119+
: (!transform.any_op) -> !transform.any_op
114120
transform.yield
115121
}
116122
}
@@ -125,7 +131,9 @@ func.func @valid_pass_options_as_list() {
125131
module attributes {transform.with_named_sequence} {
126132
transform.named_sequence @__transform_main(%arg1: !transform.any_op) {
127133
%1 = transform.structured.match ops{["func.func"]} in %arg1 : (!transform.any_op) -> !transform.any_op
128-
transform.apply_registered_pass "canonicalize" with options = "top-down=false" "max-iterations=0" to %1 : (!transform.any_op) -> !transform.any_op
134+
transform.apply_registered_pass "canonicalize"
135+
with options = "top-down=false" "max-iterations=0" to %1
136+
: (!transform.any_op) -> !transform.any_op
129137
transform.yield
130138
}
131139
}
@@ -142,7 +150,9 @@ module attributes {transform.with_named_sequence} {
142150
%1 = transform.structured.match ops{["func.func"]} in %arg1 : (!transform.any_op) -> !transform.any_op
143151
%max_iter = transform.param.constant "max-iterations=10" -> !transform.any_param
144152
%max_rewrites = transform.param.constant "max-num-rewrites=1" -> !transform.any_param
145-
%2 = transform.apply_registered_pass "canonicalize" with options = "top-down=false" %max_iter "test-convergence=true" %max_rewrites to %1 : (!transform.any_param, !transform.any_param, !transform.any_op) -> !transform.any_op
153+
%2 = transform.apply_registered_pass "canonicalize"
154+
with options = "top-down=false" %max_iter "test-convergence=true" %max_rewrites to %1
155+
: (!transform.any_param, !transform.any_param, !transform.any_op) -> !transform.any_op
146156
transform.yield
147157
}
148158
}
@@ -158,7 +168,9 @@ module attributes {transform.with_named_sequence} {
158168
%1 = transform.structured.match ops{["func.func"]} in %arg1 : (!transform.any_op) -> !transform.any_op
159169
%max_iter = transform.param.constant "max-iterations=10" -> !transform.any_param
160170
// expected-error @below {{expected at least one option (either a string or a param)}}
161-
%2 = transform.apply_registered_pass "canonicalize" with options = ["top-down=false" %max_iter] to %1 : (!transform.any_param, !transform.any_param, !transform.any_op) -> !transform.any_op
171+
%2 = transform.apply_registered_pass "canonicalize"
172+
with options = ["top-down=false" %max_iter] to %1
173+
: (!transform.any_param, !transform.any_param, !transform.any_op) -> !transform.any_op
162174
transform.yield
163175
}
164176
}
@@ -172,9 +184,10 @@ func.func @invalid_options_as_pairs() {
172184
module attributes {transform.with_named_sequence} {
173185
transform.named_sequence @__transform_main(%arg1: !transform.any_op) {
174186
%1 = transform.structured.match ops{["func.func"]} in %arg1 : (!transform.any_op) -> !transform.any_op
175-
%max_iter = transform.param.constant "max-iterations=10" -> !transform.any_param
176187
// expected-error @below {{expected 'to'}}
177-
%2 = transform.apply_registered_pass "canonicalize" with options = "top-down=" false to %1 : (!transform.any_param, !transform.any_param, !transform.any_op) -> !transform.any_op
188+
%2 = transform.apply_registered_pass "canonicalize"
189+
with options = "top-down=" false to %1
190+
: (!transform.any_param, !transform.any_param, !transform.any_op) -> !transform.any_op
178191
transform.yield
179192
}
180193
}
@@ -190,7 +203,9 @@ module attributes {transform.with_named_sequence} {
190203
%1 = transform.structured.match ops{["func.func"]} in %arg1 : (!transform.any_op) -> !transform.any_op
191204
%pass_options = transform.param.constant 42 -> !transform.any_param
192205
// expected-error @below {{options passed as a param must be a string, got 42}}
193-
transform.apply_registered_pass "canonicalize" with options = %pass_options to %1 : (!transform.any_param, !transform.any_op) -> !transform.any_op
206+
transform.apply_registered_pass "canonicalize"
207+
with options = %pass_options to %1
208+
: (!transform.any_param, !transform.any_op) -> !transform.any_op
194209
transform.yield
195210
}
196211
}
@@ -208,7 +223,9 @@ module attributes {transform.with_named_sequence} {
208223
%y = transform.param.constant "y" -> !transform.any_param
209224
%pass_options = transform.merge_handles %x, %y : !transform.any_param
210225
// expected-error @below {{options passed as a param must have a single value associated, param 0 associates 2}}
211-
transform.apply_registered_pass "canonicalize" with options = %pass_options to %1 : (!transform.any_param, !transform.any_op) -> !transform.any_op
226+
transform.apply_registered_pass "canonicalize"
227+
with options = %pass_options to %1
228+
: (!transform.any_param, !transform.any_op) -> !transform.any_op
212229
transform.yield
213230
}
214231
}

0 commit comments

Comments
 (0)