Skip to content

Commit 17e9752

Browse files
authored
Revert "[mlir][mlir-spirv-cpu-runner] Move MLIR pass pipeline to mlir-opt" (llvm#113176)
Reverts llvm#111575 This caused build failures: https://lab.llvm.org/buildbot/#/builders/138/builds/5244
1 parent e730231 commit 17e9752

File tree

6 files changed

+26
-54
lines changed

6 files changed

+26
-54
lines changed

mlir/test/lib/Pass/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS)
33
add_mlir_library(MLIRTestPass
44
TestDynamicPipeline.cpp
55
TestPassManager.cpp
6-
TestSPIRVCPURunnerPipeline.cpp
76

87
EXCLUDE_FROM_LIBMLIR
98

mlir/test/lib/Pass/TestSPIRVCPURunnerPipeline.cpp

Lines changed: 0 additions & 47 deletions
This file was deleted.

mlir/test/mlir-spirv-cpu-runner/double.mlir

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
// RUN: mlir-opt %s -test-spirv-cpu-runner-pipeline \
2-
// RUN: | mlir-spirv-cpu-runner - -e main --entry-point-result=void --shared-libs=%mlir_runner_utils,%mlir_test_spirv_cpu_runner_c_wrappers \
1+
// RUN: mlir-spirv-cpu-runner %s -e main --entry-point-result=void --shared-libs=%mlir_runner_utils,%mlir_test_spirv_cpu_runner_c_wrappers \
32
// RUN: | FileCheck %s
43

54
// CHECK: [8, 8, 8, 8, 8, 8]

mlir/test/mlir-spirv-cpu-runner/simple_add.mlir

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
// RUN: mlir-opt %s -test-spirv-cpu-runner-pipeline \
2-
// RUN: | mlir-spirv-cpu-runner - -e main --entry-point-result=void --shared-libs=%mlir_runner_utils,%mlir_test_spirv_cpu_runner_c_wrappers \
1+
// RUN: mlir-spirv-cpu-runner %s -e main --entry-point-result=void --shared-libs=%mlir_runner_utils,%mlir_test_spirv_cpu_runner_c_wrappers \
32
// RUN: | FileCheck %s
43

54
// CHECK: data =

mlir/tools/mlir-opt/mlir-opt.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,6 @@ void registerTestSCFWhileOpBuilderPass();
142142
void registerTestSCFWrapInZeroTripCheckPasses();
143143
void registerTestShapeMappingPass();
144144
void registerTestSliceAnalysisPass();
145-
void registerTestSPIRVCPURunnerPipeline();
146145
void registerTestSPIRVFuncSignatureConversion();
147146
void registerTestSPIRVVectorUnrolling();
148147
void registerTestTensorCopyInsertionPass();
@@ -279,7 +278,6 @@ void registerTestPasses() {
279278
mlir::test::registerTestSCFWrapInZeroTripCheckPasses();
280279
mlir::test::registerTestShapeMappingPass();
281280
mlir::test::registerTestSliceAnalysisPass();
282-
mlir::test::registerTestSPIRVCPURunnerPipeline();
283281
mlir::test::registerTestSPIRVFuncSignatureConversion();
284282
mlir::test::registerTestSPIRVVectorUnrolling();
285283
mlir::test::registerTestTensorCopyInsertionPass();

mlir/tools/mlir-spirv-cpu-runner/mlir-spirv-cpu-runner.cpp

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,18 @@
1212
//
1313
//===----------------------------------------------------------------------===//
1414

15+
#include "mlir/Conversion/FuncToLLVM/ConvertFuncToLLVMPass.h"
16+
#include "mlir/Conversion/GPUToSPIRV/GPUToSPIRVPass.h"
17+
#include "mlir/Conversion/SPIRVToLLVM/SPIRVToLLVMPass.h"
1518
#include "mlir/Dialect/Arith/IR/Arith.h"
1619
#include "mlir/Dialect/Func/IR/FuncOps.h"
1720
#include "mlir/Dialect/GPU/IR/GPUDialect.h"
21+
#include "mlir/Dialect/GPU/Transforms/Passes.h"
1822
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
1923
#include "mlir/Dialect/MemRef/IR/MemRef.h"
2024
#include "mlir/Dialect/SPIRV/IR/SPIRVDialect.h"
25+
#include "mlir/Dialect/SPIRV/IR/SPIRVOps.h"
26+
#include "mlir/Dialect/SPIRV/Transforms/Passes.h"
2127
#include "mlir/ExecutionEngine/JitRunner.h"
2228
#include "mlir/ExecutionEngine/OptUtils.h"
2329
#include "mlir/Pass/Pass.h"
@@ -69,13 +75,31 @@ convertMLIRModule(Operation *op, llvm::LLVMContext &context) {
6975
return mainModule;
7076
}
7177

78+
static LogicalResult runMLIRPasses(Operation *module,
79+
JitRunnerOptions &options) {
80+
PassManager passManager(module->getContext(),
81+
module->getName().getStringRef());
82+
if (failed(applyPassManagerCLOptions(passManager)))
83+
return failure();
84+
passManager.addPass(createGpuKernelOutliningPass());
85+
passManager.addPass(createConvertGPUToSPIRVPass(/*mapMemorySpace=*/true));
86+
87+
OpPassManager &nestedPM = passManager.nest<spirv::ModuleOp>();
88+
nestedPM.addPass(spirv::createSPIRVLowerABIAttributesPass());
89+
nestedPM.addPass(spirv::createSPIRVUpdateVCEPass());
90+
passManager.addPass(createLowerHostCodeToLLVMPass());
91+
passManager.addPass(createConvertSPIRVToLLVMPass());
92+
return passManager.run(module);
93+
}
94+
7295
int main(int argc, char **argv) {
7396
llvm::InitLLVM y(argc, argv);
7497

7598
llvm::InitializeNativeTarget();
7699
llvm::InitializeNativeTargetAsmPrinter();
77100

78101
mlir::JitRunnerConfig jitRunnerConfig;
102+
jitRunnerConfig.mlirTransformer = runMLIRPasses;
79103
jitRunnerConfig.llvmModuleBuilder = convertMLIRModule;
80104

81105
mlir::DialectRegistry registry;

0 commit comments

Comments
 (0)