================
@@ -3521,13 +3521,6 @@ struct SelectCaseOpConversion : public
fir::FIROpConversion<fir::SelectCaseOp> {
auto loc = caseOp.getLoc();
for (unsigned t = 0; t != conds; ++t) {
mlir::Block *dest = caseOp.getSuccessor(t);
- std::optional<mlir::TypeConverter::SignatureConversion> conversion =
- getTypeConverter()->convertBlockSignature(dest);
- if (!conversion)
- return rewriter.notifyMatchFailure(caseOp,
- "could not compute block
signature");
-
- dest = rewriter.applySignatureConversion(dest, *conversion);
----------------
NexMing wrote:
Some passes (such as `lift-cf-to-scf`) fail when encountering
`fir.select_case`, so I need to convert `fir.select_case` to the `CF` dialect
beforehand to continue exploring further optimizations.
Although the FIR CodeGen pass may need improvements, the current patch may
already be too large, so I prefer to avoid making changes to the FIR CodeGen
pass as much as possible.
https://github.com/llvm/llvm-project/pull/168703
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits