|
21 | 21 | #include "mlir/Conversion/AffineToStandard/AffineToStandard.h" |
22 | 22 | #include "mlir/Conversion/ArithToLLVM/ArithToLLVM.h" |
23 | 23 | #include "mlir/Conversion/BufferizationToMemRef/BufferizationToMemRef.h" |
| 24 | +#include "mlir/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.h" |
24 | 25 | #include "mlir/Conversion/FuncToLLVM/ConvertFuncToLLVMPass.h" |
25 | 26 | #include "mlir/Conversion/MathToLLVM/MathToLLVM.h" |
26 | 27 | #include "mlir/Conversion/MathToLibm/MathToLibm.h" |
@@ -84,8 +85,6 @@ static void createTcpToLlvmPipeline(OpPassManager &pm) { |
84 | 85 | bufferizationOptions.setFunctionBoundaryTypeConversion( |
85 | 86 | bufferization::LayoutMapOption::IdentityLayoutMap); |
86 | 87 | pm.addPass(bufferization::createOneShotBufferizePass(bufferizationOptions)); |
87 | | - pm.addNestedPass<func::FuncOp>( |
88 | | - bufferization::createFinalizingBufferizePass()); |
89 | 88 | // Buffer deallocation pipeline for automatically inserting |
90 | 89 | // buffer deallocation ops after one-shot bufferization. |
91 | 90 | // https://sourcegraph.com/github.com/llvm/llvm-project@09bc1e825068f314db71ee7eb32d9f93c5ac87a0/-/blob/mlir/lib/Dialect/Bufferization/Pipelines/BufferizationPipelines.cpp?L21 |
@@ -122,6 +121,8 @@ static void createTcpToLlvmPipeline(OpPassManager &pm) { |
122 | 121 | pm.addPass(createFinalizeMemRefToLLVMConversionPass()); |
123 | 122 | // Convert Func to LLVM (always needed). |
124 | 123 | pm.addPass(createConvertFuncToLLVMPass()); |
| 124 | + // Convert CF to LLVM (always needed). |
| 125 | + pm.addPass(createConvertControlFlowToLLVMPass()); |
125 | 126 |
|
126 | 127 | // Sprinkle some cleanups. |
127 | 128 | pm.addPass(createCanonicalizerPass()); |
|
0 commit comments