diff --git a/mlir/tools/mlir-spirv-cpu-runner/mlir-spirv-cpu-runner.cpp b/mlir/tools/mlir-spirv-cpu-runner/mlir-spirv-cpu-runner.cpp --- a/mlir/tools/mlir-spirv-cpu-runner/mlir-spirv-cpu-runner.cpp +++ b/mlir/tools/mlir-spirv-cpu-runner/mlir-spirv-cpu-runner.cpp @@ -82,11 +82,18 @@ passManager.addPass(createGpuKernelOutliningPass()); passManager.addPass(createConvertGPUToSPIRVPass(/*mapMemorySpace=*/true)); + auto enableOpaquePointers = [](auto options) { + options.useOpaquePointers = true; + return options; + }; + OpPassManager &nestedPM = passManager.nest(); nestedPM.addPass(spirv::createSPIRVLowerABIAttributesPass()); nestedPM.addPass(spirv::createSPIRVUpdateVCEPass()); - passManager.addPass(createLowerHostCodeToLLVMPass()); - passManager.addPass(createConvertSPIRVToLLVMPass()); + passManager.addPass(createLowerHostCodeToLLVMPass( + enableOpaquePointers(LowerHostCodeToLLVMPassOptions{}))); + passManager.addPass(createConvertSPIRVToLLVMPass( + enableOpaquePointers(ConvertSPIRVToLLVMPassOptions{}))); return passManager.run(module); }