diff options
author | Markus Böck <markus.boeck02@gmail.com> | 2023-02-24 14:11:35 +0100 |
---|---|---|
committer | Markus Böck <markus.boeck02@gmail.com> | 2023-02-24 17:04:43 +0100 |
commit | dff04fc21c6a88a958495c02776a367829783f17 (patch) | |
tree | bfa5fb1498c4a0268c8ac28ddb20ae5117c28282 /mlir/tools | |
parent | 91be3586b52e8c5fd2891a35524068dc139a7d23 (diff) | |
download | llvm-dff04fc21c6a88a958495c02776a367829783f17.tar.gz |
[mlir][SPIRV] Enable use of opaque-pointers in spirv-cpu-runner
Part of https://discourse.llvm.org/t/rfc-switching-the-llvm-dialect-and-dialect-lowerings-to-opaque-pointers/68179
All passes required for lowering have already been successfully converted to allowing opaque-pointers. Switching the Spir-V runner to opaque-pointers is therefore only a matter of turning it on in these conversion passes. Regression tests also did not find any issues.
Differential Revision: https://reviews.llvm.org/D144725
Diffstat (limited to 'mlir/tools')
-rw-r--r-- | mlir/tools/mlir-spirv-cpu-runner/mlir-spirv-cpu-runner.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
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 index 1055305dd089..ba9683ca9d7b 100644 --- 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 @@ static LogicalResult runMLIRPasses(Operation *module, passManager.addPass(createGpuKernelOutliningPass()); passManager.addPass(createConvertGPUToSPIRVPass(/*mapMemorySpace=*/true)); + auto enableOpaquePointers = [](auto options) { + options.useOpaquePointers = true; + return options; + }; + OpPassManager &nestedPM = passManager.nest<spirv::ModuleOp>(); 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); } |