This patch abstract Calls in Inliner:run to InlineOrder.
With this patch, we could customize the inlining order.
Now this patch is a minimal refactoring,
some works are still needed to be done.
Differential D103315
Add interface to order inlining taolq on May 28 2021, 6:29 AM. Authored by
Details This patch abstract Calls in Inliner:run to InlineOrder. Now this patch is a minimal refactoring,
Diff Detail
Event TimelineComment Actions I believe this is in the right direction. I recommend informing the nuances of the API by trying first to replace all the uses of Calls (and the adjustment of the index iterating through Calls, line 906) Please note the linter notes (virtual dtor, etc)
Comment Actions I also agree this is in the right direction. I've left some minor comments.
Comment Actions change impl of DefaultInlineOrder: SmallVector -> std::deque Comment Actions Thanks for the update. I'd generalize the code around Call.erase a little bit more to accommodate other underlying data structures. See the comments below for details.
Comment Actions This change appears to be causing 6 or 7 lit tests to hang. Can you take a look and fix or revert? https://lab.llvm.org/buildbot/#/builders/139/builds/5158 (7 tests hanging) |
Remove this if you use SmallVector. See below.