diff --git a/mlir/lib/Dialect/SCF/SCF.cpp b/mlir/lib/Dialect/SCF/SCF.cpp --- a/mlir/lib/Dialect/SCF/SCF.cpp +++ b/mlir/lib/Dialect/SCF/SCF.cpp @@ -115,8 +115,7 @@ static void print(OpAsmPrinter &p, ExecuteRegionOp op) { p << ExecuteRegionOp::getOperationName(); - if (op.getNumResults() > 0) - p << " -> " << op.getResultTypes(); + p.printOptionalArrowTypeList(op.getResultTypes()); p.printRegion(op.region(), /*printEntryBlockArgs=*/false, diff --git a/mlir/test/Dialect/SCF/ops.mlir b/mlir/test/Dialect/SCF/ops.mlir --- a/mlir/test/Dialect/SCF/ops.mlir +++ b/mlir/test/Dialect/SCF/ops.mlir @@ -291,6 +291,12 @@ scf.yield %c1 : i64 } + // CHECK: scf.execute_region -> (i64, i64) { + %res2:2 = scf.execute_region -> (i64, i64) { + %c1 = constant 1 : i64 + scf.yield %c1, %c1 : i64, i64 + } + // CHECK: scf.execute_region { // CHECK-NEXT: br ^bb1 // CHECK-NEXT: ^bb1: