blob: 81a96bf29e84f50ed41378709bff3bc614f4e2c5 [file] [edit]
// RUN: mlir-opt --convert-to-llvm %s | FileCheck %s
// Checking that malloc and free are declared in the proper module.
// CHECK: module attributes {gpu.container_module} {
// CHECK: llvm.func @free(!llvm.ptr)
// CHECK: llvm.func @malloc(i64) -> !llvm.ptr
// CHECK: gpu.module @kernels {
// CHECK: llvm.func @free(!llvm.ptr)
// CHECK: llvm.func @malloc(i64) -> !llvm.ptr
// CHECK: gpu.func @kernel_1
// CHECK: llvm.call @malloc({{.*}}) : (i64) -> !llvm.ptr
// CHECK: llvm.call @free({{.*}}) : (!llvm.ptr) -> ()
// CHECK: gpu.return
// CHECK: }
// CHECK: }
// CHECK: }
module attributes {gpu.container_module} {
gpu.module @kernels {
gpu.func @kernel_1() kernel {
%memref_a = memref.alloc() : memref<8x16xf32>
memref.dealloc %memref_a : memref<8x16xf32>
gpu.return
}
}
func.func @main() {
%memref_a = memref.alloc() : memref<8x16xf32>
memref.dealloc %memref_a : memref<8x16xf32>
return
}
}