38 lines · plain
1// RUN: mlir-opt %s -inline='default-pipeline=' | FileCheck %s2// RUN: mlir-opt %s --mlir-disable-threading -inline='default-pipeline=' | FileCheck %s3 4module {5 // CHECK-LABEL: func.func @parent16 func.func @parent1(%arg0: i32) -> i32 {7 // CHECK: call @child8 %0 = call @child(%arg0) : (i32) -> i329 return %0 : i3210 }11 12 // CHECK-LABEL: func.func @parent213 func.func @parent2(%arg0: i32) -> i32 {14 // CHECK: call @child15 %0 = call @child(%arg0) : (i32) -> i3216 return %0 : i3217 }18 19 // CHECK-LABEL: func.func @child20 func.func @child(%arg0: i32) -> i32 {21 %c10_i32 = arith.constant 10 : i3222 %c1_i32 = arith.constant 1 : i3223 %0 = arith.cmpi sge, %arg0, %c10_i32 : i3224 %1 = scf.if %0 -> (i32) {25 scf.yield %arg0 : i3226 } else {27 %2 = arith.addi %arg0, %c1_i32 : i3228 // CHECK: call @parent129 // CHECK: call @parent230 %3 = func.call @parent1(%2) : (i32) -> i3231 %4 = func.call @parent2(%2) : (i32) -> i3232 %5 = arith.addi %3, %4 : i3233 scf.yield %5 : i3234 }35 return %1 : i3236 }37}38