brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1020 B · 5c97120 Raw
35 lines · plain
1// RUN: mlir-translate -mlir-to-llvmir %s | FileCheck %s2 3module attributes {omp.is_target_device = true} {4  omp.private {type = private} @simd_privatizer : !llvm.ptr init {5  ^bb0(%arg0: !llvm.ptr, %arg1: !llvm.ptr):6    omp.yield(%arg0 : !llvm.ptr)7  }8 9  llvm.func @test_target_simd() {10    omp.target {11      %5 = llvm.mlir.constant(1 : i32) : i3212      %x = llvm.alloca %5 x i32 {bindc_name = "x"} : (i32) -> !llvm.ptr13      omp.simd private(@simd_privatizer %x -> %arg1 : !llvm.ptr) {14        omp.loop_nest (%arg2) : i32 = (%5) to (%5) inclusive step (%5) {15          omp.yield16        }17      }18      omp.terminator19    }20    llvm.return21  }22 23}24 25// CHECK-LABEL: define {{.*}} @__omp_offloading_{{.*}}_test_target_simd_{{.*}}26 27// CHECK:         %[[INT:.*]] = alloca i32, align 428// CHECK:         br label %[[LATE_ALLOC_BB:.*]]29 30// CHECK:       [[LATE_ALLOC_BB]]:31// CHECK:         br label %[[AFTER_ALLOC_BB:.*]]32 33// CHECK:       [[AFTER_ALLOC_BB]]:34// CHECK:         br i1 %{{.*}}, label %{{.*}}, label %{{.*}}35