1// RUN: mlir-opt %s -inline='default-pipeline=''' | FileCheck %s 2// RUN: mlir-opt %s --mlir-disable-threading -inline='default-pipeline=''' | FileCheck %s 3 4// CHECK-LABEL: func.func @foo0 5func.func @foo0(%arg0 : i32) -> i32 { 6 // CHECK: call @foo1 7 // CHECK: } 8 %0 = arith.constant 0 : i32 9 %1 = arith.cmpi eq, %arg0, %0 : i32 10 cf.cond_br %1, ^exit, ^tail 11^exit: 12 return %0 : i32 13^tail: 14 %3 = call @foo1(%arg0) : (i32) -> i32 15 return %3 : i32 16} 17 18// CHECK-LABEL: func.func @foo1 19func.func @foo1(%arg0 : i32) -> i32 { 20 // CHECK: call @foo1 21 %0 = arith.constant 1 : i32 22 %1 = arith.subi %arg0, %0 : i32 23 %2 = call @foo0(%1) : (i32) -> i32 24 return %2 : i32 25} 26