File tree Expand file tree Collapse file tree 4 files changed +1300
-6
lines changed Expand file tree Collapse file tree 4 files changed +1300
-6
lines changed Original file line number Diff line number Diff 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" ,
Original file line number Diff line number Diff 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 \
Original file line number Diff line number Diff 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 ());
You can’t perform that action at this time.
0 commit comments