[Mlir-commits] [mlir] [mlir][mlir-vulkan-runner] Move part of device pass pipeline to mlir-opt (PR #119372)
Jakub Kuderski
llvmlistbot at llvm.org
Tue Dec 10 06:46:23 PST 2024
================
@@ -0,0 +1,49 @@
+//===------------------ TestVulkanRunnerPipeline.cpp --------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+// Implements a pipeline for use by mlir-vulkan-runner tests.
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.h"
+#include "mlir/Conversion/GPUToSPIRV/GPUToSPIRVPass.h"
+#include "mlir/Dialect/GPU/Transforms/Passes.h"
+#include "mlir/Dialect/MemRef/Transforms/Passes.h"
+#include "mlir/Dialect/SPIRV/IR/SPIRVOps.h"
+#include "mlir/Dialect/SPIRV/Transforms/Passes.h"
+#include "mlir/Pass/PassManager.h"
+
+using namespace mlir;
+
+namespace {
+
+void buildTestVulkanRunnerPipeline(OpPassManager &passManager) {
+ passManager.addPass(createGpuKernelOutliningPass());
+ passManager.addPass(memref::createFoldMemRefAliasOpsPass());
+
+ ConvertToSPIRVPassOptions convertToSPIRVOptions{};
+ convertToSPIRVOptions.convertGPUModules = true;
+ passManager.addPass(createConvertToSPIRVPass(convertToSPIRVOptions));
+ OpPassManager &modulePM = passManager.nest<spirv::ModuleOp>();
+ modulePM.addPass(spirv::createSPIRVLowerABIAttributesPass());
+ modulePM.addPass(spirv::createSPIRVUpdateVCEPass());
+}
+
+} // namespace
+
+namespace mlir {
+namespace test {
----------------
kuhar wrote:
```suggestion
namespace mlir::test {
```
https://github.com/llvm/llvm-project/pull/119372
More information about the Mlir-commits
mailing list