brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · e50cf96 Raw
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