brintos

brintos / llvm-project-archived public Read only

0
0
Text · 765 B · d15efe3 Raw
22 lines · plain
1// RUN: mlir-opt %s --gpu-to-llvm | FileCheck %s2 3module attributes {gpu.container_module} {4 5  func.func @foo() {6    // CHECK: %[[t0:.*]] = llvm.call @mgpuStreamCreate7    // CHECK: %[[e0:.*]] = llvm.call @mgpuEventCreate8    // CHECK: llvm.call @mgpuEventRecord(%[[e0]], %[[t0]])9    %t0 = gpu.wait async10    // CHECK: %[[t1:.*]] = llvm.call @mgpuStreamCreate11    // CHECK: llvm.call @mgpuStreamWaitEvent(%[[t1]], %[[e0]])12    // CHECK: llvm.call @mgpuEventDestroy(%[[e0]])13    %t1 = gpu.wait async [%t0]14    // CHECK: llvm.call @mgpuStreamSynchronize(%[[t0]])15    // CHECK: llvm.call @mgpuStreamDestroy(%[[t0]])16    // CHECK: llvm.call @mgpuStreamSynchronize(%[[t1]])17    // CHECK: llvm.call @mgpuStreamDestroy(%[[t1]])18    gpu.wait [%t0, %t1]19    return20  }21}22