brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 16884f4 Raw
60 lines · plain
1// RUN: mlir-opt %s            | FileCheck %s --enable-var-scope2// RUN: mlir-opt %s | mlir-opt | FileCheck %s --enable-var-scope3 4 5// CHECK-LABEL: @omp_unroll_heuristic_raw(6// CHECK-SAME: %[[tc:.+]]: i32) {7func.func @omp_unroll_heuristic_raw(%tc : i32) -> () {8  // CHECK-NEXT: %canonloop = omp.new_cli9  %canonloop = "omp.new_cli" () : () -> (!omp.cli)10  // CHECK-NEXT: omp.canonical_loop(%canonloop) %iv : i32 in range(%[[tc]]) {11  "omp.canonical_loop" (%tc, %canonloop) ({12    ^bb0(%iv: i32):13      omp.terminator14  }) : (i32, !omp.cli) -> ()15  // CHECK: omp.unroll_heuristic(%canonloop)16  "omp.unroll_heuristic" (%canonloop) : (!omp.cli) -> ()17  return18}19 20 21// CHECK-LABEL: @omp_unroll_heuristic_pretty(22// CHECK-SAME: %[[tc:.+]]: i32) {23func.func @omp_unroll_heuristic_pretty(%tc : i32) -> () {24  // CHECK-NEXT: %[[CANONLOOP:.+]] = omp.new_cli25  %canonloop = omp.new_cli26  // CHECK-NEXT:  omp.canonical_loop(%canonloop) %iv : i32 in range(%[[tc]]) {27  omp.canonical_loop(%canonloop) %iv : i32 in range(%tc) {28    omp.terminator29  }30  // CHECK: omp.unroll_heuristic(%canonloop)31  omp.unroll_heuristic(%canonloop)32  return33}34 35 36// CHECK-LABEL: @omp_unroll_heuristic_nested_pretty(37// CHECK-SAME: %[[tc:.+]]: i32) {38func.func @omp_unroll_heuristic_nested_pretty(%tc : i32) -> () {39  // CHECK-NEXT: %canonloop = omp.new_cli40  %cli_outer = omp.new_cli41  // CHECK-NEXT: %canonloop_d1 = omp.new_cli42  %cli_inner = omp.new_cli43  // CHECK-NEXT: omp.canonical_loop(%canonloop) %iv : i32 in range(%[[tc]]) {44  omp.canonical_loop(%cli_outer) %iv_outer : i32 in range(%tc) {45    // CHECK-NEXT: omp.canonical_loop(%canonloop_d1) %iv_d1 : i32 in range(%[[tc]]) {46    omp.canonical_loop(%cli_inner) %iv_inner : i32 in range(%tc) {47      // CHECK: omp.terminator48      omp.terminator49    }50    // CHECK: omp.terminator51    omp.terminator52  }53 54  // CHECK: omp.unroll_heuristic(%canonloop)55  omp.unroll_heuristic(%cli_outer)56  // CHECK-NEXT: omp.unroll_heuristic(%canonloop_d1)57  omp.unroll_heuristic(%cli_inner)58  return59}60