Skip to content

Commit 51050d9

Browse files
committed
the three removed stablehlo passes are necessary.
We patch them back. The passes are mhlo-legalize-control-flow mhlo-legalize-to-std hlo-legalize-sort tensorflow/mlir-hlo@4a640be#diff-ef0d7e30da19a396ba036405a9ef636f8b1be194618b0a90f4602671fc2ef34d tensorflow/mlir-hlo@2a5e267#diff-f8c7cb07b43593403e00e0dbf9983f0186b4eb70368cc99af3b924061f1ea46f
1 parent df8a289 commit 51050d9

File tree

4 files changed

+1300
-6
lines changed

4 files changed

+1300
-6
lines changed

frontend/catalyst/pipelines.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -184,10 +184,10 @@ def get_hlo_lowering_stage(_options: CompileOptions) -> List[str]:
184184
"canonicalize",
185185
"func.func(chlo-legalize-to-hlo)",
186186
"stablehlo-legalize-to-hlo",
187-
# "func.func(mhlo-legalize-control-flow)",
187+
"func.func(mhlo-legalize-control-flow)",
188188
"func.func(hlo-legalize-to-linalg)",
189-
# "func.func(mhlo-legalize-to-std)",
190-
# "func.func(hlo-legalize-sort)",
189+
"func.func(mhlo-legalize-to-std)",
190+
"func.func(hlo-legalize-sort)",
191191
"convert-to-signless",
192192
"canonicalize",
193193
"scatter-lowering",

mlir/Makefile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,17 @@ mhlo:
104104
@if patch -p0 --dry-run -N < $(MK_DIR)/patches/mhlo-remove-shardy.patch > /dev/null 2>&1; then \
105105
patch -p0 < $(MK_DIR)/patches/mhlo-remove-shardy.patch; \
106106
fi
107+
# Patch MHLO passes removed from upstream
108+
mkdir $(MK_DIR)/mlir-hlo/mhlo/transforms/legalize_control_flow
109+
mkdir $(MK_DIR)/mlir-hlo/mhlo/transforms/legalize_sort
110+
mkdir $(MK_DIR)/mlir-hlo/mhlo/transforms/legalize_to_standard
111+
touch $(MK_DIR)/mlir-hlo/mhlo/transforms/legalize_control_flow/legalize_control_flow.cc
112+
touch $(MK_DIR)/mlir-hlo/mhlo/transforms/legalize_sort/legalize_sort.cc
113+
touch $(MK_DIR)/mlir-hlo/mhlo/transforms/legalize_to_standard/legalize_to_standard.cc
114+
touch $(MK_DIR)/mlir-hlo/mhlo/transforms/legalize_to_standard/legalize_to_standard_patterns.td
115+
@if patch -p0 --dry-run -N --verbose < $(MK_DIR)/patches/mhlo-add-back-necessary-passes.patch > /dev/null 2>&1; then \
116+
patch -p0 < $(MK_DIR)/patches/mhlo-add-back-necessary-passes.patch; \
117+
fi
107118
cmake -G Ninja -S mlir-hlo -B $(MHLO_BUILD_DIR) \
108119
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
109120
-DLLVM_ENABLE_ASSERTIONS=ON \

mlir/lib/Driver/Pipelines.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ void createHloLoweringPipeline(OpPassManager &pm)
4242
pm.addPass(mlir::createCanonicalizerPass());
4343
pm.addNestedPass<mlir::func::FuncOp>(mhlo::createChloLegalizeToHloPass());
4444
pm.addPass(mlir::mhlo::createStablehloLegalizeToHloPass());
45-
// pm.addNestedPass<mlir::func::FuncOp>(mhlo::createLegalizeControlFlowPass());
45+
pm.addNestedPass<mlir::func::FuncOp>(mhlo::createLegalizeControlFlowPass());
4646
pm.addNestedPass<mlir::func::FuncOp>(mhlo::createLegalizeHloToLinalgPass());
47-
// pm.addNestedPass<mlir::func::FuncOp>(mhlo::createLegalizeToStdPass());
48-
// pm.addNestedPass<mlir::func::FuncOp>(mhlo::createLegalizeSortPass());
47+
pm.addNestedPass<mlir::func::FuncOp>(mhlo::createLegalizeToStdPass());
48+
pm.addNestedPass<mlir::func::FuncOp>(mhlo::createLegalizeSortPass());
4949
pm.addPass(mlir::mhlo::createConvertToSignlessPass());
5050
pm.addPass(mlir::createCanonicalizerPass());
5151
pm.addPass(catalyst::createScatterLoweringPass());

0 commit comments

Comments
 (0)