blob: 5ac3a1557ba79407742f1144525efefd972a991e [file] [edit]
// RUN: mlir-opt %s | FileCheck %s --enable-var-scope
// RUN: mlir-opt %s | mlir-opt | FileCheck %s --enable-var-scope
// CHECK-LABEL: @omp_unroll_partial_raw(
// CHECK-SAME: %[[tc:.+]]: i32) {
func.func @omp_unroll_partial_raw(%tc : i32) -> () {
// CHECK-NEXT: %canonloop = omp.new_cli
%canonloop = "omp.new_cli" () : () -> (!omp.cli)
// CHECK-NEXT: omp.canonical_loop(%canonloop) %iv : i32 in range(%[[tc]]) {
"omp.canonical_loop" (%tc, %canonloop) ({
^bb0(%iv: i32):
omp.terminator
}) : (i32, !omp.cli) -> ()
// CHECK: omp.unroll_partial(%canonloop) {unroll_factor = 4 : i64}
"omp.unroll_partial" (%canonloop) {unroll_factor = 4 : i64} : (!omp.cli) -> ()
return
}
// CHECK-LABEL: @omp_unroll_partial_pretty(
// CHECK-SAME: %[[tc:.+]]: i32) {
func.func @omp_unroll_partial_pretty(%tc : i32) -> () {
// CHECK-NEXT: %[[CANONLOOP:.+]] = omp.new_cli
%canonloop = omp.new_cli
// CHECK-NEXT: omp.canonical_loop(%canonloop) %iv : i32 in range(%[[tc]]) {
omp.canonical_loop(%canonloop) %iv : i32 in range(%tc) {
omp.terminator
}
// CHECK: omp.unroll_partial(%canonloop) {unroll_factor = 8 : i64}
omp.unroll_partial(%canonloop) {unroll_factor = 8 : i64}
return
}
// CHECK-LABEL: @omp_unroll_partial_nested_pretty(
// CHECK-SAME: %[[tc:.+]]: i32) {
func.func @omp_unroll_partial_nested_pretty(%tc : i32) -> () {
// CHECK-NEXT: %canonloop = omp.new_cli
%cli_outer = omp.new_cli
// CHECK-NEXT: %canonloop_d1 = omp.new_cli
%cli_inner = omp.new_cli
// CHECK-NEXT: omp.canonical_loop(%canonloop) %iv : i32 in range(%[[tc]]) {
omp.canonical_loop(%cli_outer) %iv_outer : i32 in range(%tc) {
// CHECK-NEXT: omp.canonical_loop(%canonloop_d1) %iv_d1 : i32 in range(%[[tc]]) {
omp.canonical_loop(%cli_inner) %iv_inner : i32 in range(%tc) {
// CHECK: omp.terminator
omp.terminator
}
// CHECK: omp.terminator
omp.terminator
}
// CHECK: omp.unroll_partial(%canonloop) {unroll_factor = 4 : i64}
omp.unroll_partial(%cli_outer) {unroll_factor = 4 : i64}
// CHECK-NEXT: omp.unroll_partial(%canonloop_d1) {unroll_factor = 2 : i64}
omp.unroll_partial(%cli_inner) {unroll_factor = 2 : i64}
return
}