diff options
| author | River Riddle <riverriddle@google.com> | 2019-10-03 23:04:56 -0700 |
|---|---|---|
| committer | A. Unique TensorFlower <gardener@tensorflow.org> | 2019-10-03 23:05:21 -0700 |
| commit | a20d96e436272b52d36f52c4a07c86ed285502e9 (patch) | |
| tree | a11b0ee1c681d4ce4b1705d231ec3af1d753f288 /mlir/lib/Transforms/Utils | |
| parent | 8c95223e3c9555165fb9f56db35c3c8e85ddd4c1 (diff) | |
| download | bcm5719-llvm-a20d96e436272b52d36f52c4a07c86ed285502e9.tar.gz bcm5719-llvm-a20d96e436272b52d36f52c4a07c86ed285502e9.zip | |
Update the Inliner pass to work on SCCs of the CallGraph.
This allows for the inliner to work on arbitrary call operations. The updated inliner will also work bottom-up through the callgraph enabling support for multiple levels of inlining.
PiperOrigin-RevId: 272813876
Diffstat (limited to 'mlir/lib/Transforms/Utils')
| -rw-r--r-- | mlir/lib/Transforms/Utils/InliningUtils.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/mlir/lib/Transforms/Utils/InliningUtils.cpp b/mlir/lib/Transforms/Utils/InliningUtils.cpp index 901599ce023..6ca875b25ae 100644 --- a/mlir/lib/Transforms/Utils/InliningUtils.cpp +++ b/mlir/lib/Transforms/Utils/InliningUtils.cpp @@ -186,6 +186,9 @@ LogicalResult mlir::inlineRegion(InlinerInterface &interface, Region *src, if (!shouldCloneInlinedRegion) remapInlinedOperands(newBlocks, mapper); + // Process the newly inlined blocks. + interface.processInlinedBlocks(newBlocks); + // Handle the case where only a single block was inlined. if (std::next(newBlocks.begin()) == newBlocks.end()) { // Have the interface handle the terminator of this block. |

