34 lines · plain
1// RUN: mlir-opt --convert-to-llvm %s | FileCheck %s2 3// Checking that malloc and free are declared in the proper module.4 5// CHECK: module attributes {gpu.container_module} {6// CHECK: llvm.func @free(!llvm.ptr)7// CHECK: llvm.func @malloc(i64) -> !llvm.ptr8// CHECK: gpu.module @kernels {9// CHECK: llvm.func @free(!llvm.ptr)10// CHECK: llvm.func @malloc(i64) -> !llvm.ptr11// CHECK: gpu.func @kernel_112// CHECK: llvm.call @malloc({{.*}}) : (i64) -> !llvm.ptr13// CHECK: llvm.call @free({{.*}}) : (!llvm.ptr) -> ()14// CHECK: gpu.return15// CHECK: }16// CHECK: }17// CHECK: }18module attributes {gpu.container_module} {19 20 gpu.module @kernels {21 gpu.func @kernel_1() kernel {22 %memref_a = memref.alloc() : memref<8x16xf32>23 memref.dealloc %memref_a : memref<8x16xf32>24 gpu.return25 }26 }27 28 func.func @main() {29 %memref_a = memref.alloc() : memref<8x16xf32>30 memref.dealloc %memref_a : memref<8x16xf32>31 return32 }33}34