================
@@ -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

Reply via email to