brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · e7c7420 Raw
90 lines · plain
1// RUN: mlir-opt %s -split-input-file -convert-gpu-to-rocdl='use-bare-ptr-memref-call-conv=0' | FileCheck %s --check-prefixes=CHECK,ROCDL2// RUN: mlir-opt %s -split-input-file -convert-gpu-to-nvvm='use-bare-ptr-memref-call-conv=0' | FileCheck %s --check-prefixes=CHECK,NVVM3 4gpu.module @kernel {5  gpu.func @test_func_readonly(%arg0 : memref<f32> {llvm.readonly} ) {6    gpu.return7  }8}9 10// CHECK-LABEL:  llvm.func @test_func_readonly11// ROCDL-SAME:  !llvm.ptr {llvm.readonly}12//  NVVM-SAME:  !llvm.ptr {llvm.readonly}13 14 15// -----16 17gpu.module @kernel {18  gpu.func @test_func_writeonly(%arg0 : memref<f32> {llvm.writeonly} ) {19    gpu.return20  }21}22 23// CHECK-LABEL:  llvm.func @test_func_writeonly24// ROCDL-SAME:  !llvm.ptr {llvm.writeonly}25//  NVVM-SAME:  !llvm.ptr {llvm.writeonly}26 27// -----28 29gpu.module @kernel {30  gpu.func @test_func_readonly_ptr(%arg0 : !llvm.ptr {llvm.readonly} ) {31    gpu.return32  }33}34 35// CHECK-LABEL:  llvm.func @test_func_readonly_ptr36// ROCDL-SAME:  !llvm.ptr {llvm.readonly}37//  NVVM-SAME:  !llvm.ptr {llvm.readonly}38 39// -----40 41gpu.module @kernel {42  gpu.func @test_func_nonnull(%arg0 : memref<f32> {llvm.nonnull} ) {43    gpu.return44  }45}46 47// CHECK-LABEL:  llvm.func @test_func_nonnull48// ROCDL-SAME:  !llvm.ptr {llvm.nonnull}49//  NVVM-SAME:  !llvm.ptr {llvm.nonnull}50 51 52// -----53 54gpu.module @kernel {55  gpu.func @test_func_dereferenceable(%arg0 : memref<f32> {llvm.dereferenceable = 4 : i64} ) {56    gpu.return57  }58}59 60// CHECK-LABEL:  llvm.func @test_func_dereferenceable61// ROCDL-SAME:  !llvm.ptr {llvm.dereferenceable = 4 : i64}62//  NVVM-SAME:  !llvm.ptr {llvm.dereferenceable = 4 : i64}63 64 65// -----66 67gpu.module @kernel {68  gpu.func @test_func_dereferenceable_or_null(%arg0 : memref<f32> {llvm.dereferenceable_or_null = 4 : i64} ) {69    gpu.return70  }71}72 73// CHECK-LABEL:  llvm.func @test_func_dereferenceable_or_null74// ROCDL-SAME:  !llvm.ptr {llvm.dereferenceable_or_null = 4 : i64}75//  NVVM-SAME:  !llvm.ptr {llvm.dereferenceable_or_null = 4 : i64}76 77// -----78 79gpu.module @kernel {80  gpu.func @test_func_noundef(%arg0 : memref<f32> {llvm.noundef} ) {81    gpu.return82  }83}84 85// CHECK-LABEL:  llvm.func @test_func_noundef86// ROCDL-SAME:  !llvm.ptr {llvm.noundef}87// ROCDL-SAME:  i64 {llvm.noundef}88//  NVVM-SAME:  !llvm.ptr {llvm.noundef}89//  NVVM-SAME:  i64 {llvm.noundef}90