@@ -197,7 +197,7 @@ struct SimplifySwitch : public OpRewritePattern<SwitchOp> {
197197 PatternRewriter &rewriter) const override {
198198
199199 LogicalResult changed = mlir::failure ();
200- llvm:: SmallVector<CaseOp, 8 > cases;
200+ SmallVector<CaseOp, 8 > cases;
201201 SmallVector<CaseOp, 4 > cascadingCases;
202202 SmallVector<mlir::Attribute, 4 > cascadingCaseValues;
203203
@@ -228,7 +228,6 @@ struct SimplifySwitch : public OpRewritePattern<SwitchOp> {
228228 // If the case contains only a YieldOp, collect it for cascading merge
229229 cascadingCases.push_back (c);
230230 cascadingCaseValues.push_back (c.getValue ()[0 ]);
231-
232231 } else if (kind == cir::CaseOpKind::Equal && !cascadingCases.empty ()) {
233232 // merge previously collected cascading cases
234233 cascadingCaseValues.push_back (c.getValue ()[0 ]);
@@ -237,6 +236,8 @@ struct SimplifySwitch : public OpRewritePattern<SwitchOp> {
237236 } else if (kind != cir::CaseOpKind::Equal && cascadingCases.size () > 1 ) {
238237 // If a Default, Anyof or Range case is found and there are previous
239238 // cascading cases, merge all of them into the last cascading case.
239+ // We don't currently fold case range statements with other case statements.
240+ assert (!cir::MissingFeatures::foldRangeCase ());
240241 CaseOp lastCascadingCase = cascadingCases.back ();
241242 mergeCascadingInto (lastCascadingCase);
242243 cascadingCases.pop_back ();
@@ -254,8 +255,7 @@ struct SimplifySwitch : public OpRewritePattern<SwitchOp> {
254255 cascadingCases.pop_back ();
255256 flushMergedOps ();
256257 }
257- // We don't currently fold case range statements with other case statements.
258- assert (!cir::MissingFeatures::foldRangeCase ());
258+
259259 return changed;
260260 }
261261};
0 commit comments