Fri, Nov 8
Thu, Oct 31
Rebase against master.
Thanks for rebasing the patch.
Wed, Oct 30
Tue, Oct 29
GVNHoist was recently reverted maily due to big regressions:
Two high level comments after a quick glance
- gnv-sink & gvn-hoist are still disabled by default AFAIK and there are still a few known bugs that need to be addressed (https://bugs.llvm.org/buglist.cgi?quicksearch=gvn-hoist, https://bugs.llvm.org/buglist.cgi?quicksearch=gvn-sink). It would be good to guard this change by a new flag that's off by default, otherwise it might hinder work towards weeding out the existing bugs.
Hi @hiraditya , thanks for your work. I want to test your patch on PowerPC, however current patch seems unable to be applied to current master branch.
Mon, Oct 28
Add testcase for sinking
Remove unused variable and use function for updating local stats.
Make MaxSinkChainLength a flag.
Remove VNs already handled to reduce redundant lookups.
Sun, Oct 27
Rebase against master and use profitability to reduce liveness
Fri, Oct 25
Thu, Oct 24
Add check for both hot and cold prefixes.
btw, I had this patch in mind:
It is happening without my changes with -codegenprepare. So just keeping the testcase.
Because my goal is to improve outlining without PGO (with static analysis), I'm wondering what would be the best place to put this other than HotColdSplitting.
Mon, Oct 21
Will add test case soon.
Fri, Oct 18
rebase against latest changes
Tue, Oct 15
Sun, Oct 13
Good point, there's something about updating the users that copying maybe required. make_early_inc_range didn't work, I searched for uses cases of replaceUsesOfWith and I couldn't find any instance where we use 'users'.
Tried the following, I get test failures and crashes.
Sat, Oct 12
Oct 7 2019
LGTM as the comments have been addressed.
Oct 4 2019
Reviewed and committed: https://reviews.llvm.org/D67941
Reviewed here: https://reviews.llvm.org/D67941
Closed in: https://reviews.llvm.org/rL373807
Oct 2 2019
remove XFAIL now that fix had landed
Splitting the verifier into a separate diff: https://reviews.llvm.org/D68345
It depends on the verifier function (CodeExtractor::verifyAssumptionCache) from D67941 to fail with the test case in: llvm/test/Transforms/HotColdSplit/assumption-cache-invalidation.ll
Relevant test case: llvm/test/Transforms/HotColdSplit/assumption-cache-invalidation.ll is already in trunk.
passed ninja check-all
ninja check passed
Oct 1 2019
Essentially did this:
diff --git a/llvm/lib/Transforms/Utils/CodeExtractor.cpp b/llvm/lib/Transforms/Utils/CodeExtractor.cpp index 952263c0b1f..49fa07a3648 100644 --- a/llvm/lib/Transforms/Utils/CodeExtractor.cpp +++ b/llvm/lib/Transforms/Utils/CodeExtractor.cpp @@ -1336,13 +1336,13 @@ void CodeExtractor::calculateNewCallTerminatorWeights(