summaryrefslogtreecommitdiff
path: root/mlir/tools
diff options
context:
space:
mode:
authorMarkus Böck <markus.boeck02@gmail.com>2023-02-24 14:11:35 +0100
committerMarkus Böck <markus.boeck02@gmail.com>2023-02-24 17:04:43 +0100
commitdff04fc21c6a88a958495c02776a367829783f17 (patch)
treebfa5fb1498c4a0268c8ac28ddb20ae5117c28282 /mlir/tools
parent91be3586b52e8c5fd2891a35524068dc139a7d23 (diff)
downloadllvm-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.cpp11
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);
}