// 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 } }