- User Since
- Mar 5 2014, 4:23 PM (275 w, 4 d)
Sat, May 25
Working on porting this to latest llvm, will push the latest changes soon.
Feb 6 2019
Interesting, I have a merge-sets implementation in my patch: https://reviews.llvm.org/D32140
It will be interesting to compare the two.
Dec 7 2018
LGTM, if there are outstanding comments from other reviewers we can address them in subsequent patches.
Nov 19 2018
Nov 13 2018
Thanks for removing the exception handlers. I never wanted to hard code them in the first place.
Nov 6 2018
Nov 3 2018
Can we push this patch? This is not enabled by default so we can continue development in subsequent patches.
Oct 31 2018
For reference: https://reviews.llvm.org/D53887
Oct 30 2018
For splitting more than one cold region, maintaining a DT maybe expensive but we don't have to do that. All we need is to 'color/mark' the blocks which we want to outline. In the next iteration the colored blocks need not be considered. It may be slightly non-trivial in a general case where coloring SEME and reasoning about DT/PDT of blocks which are non-colored. What we can do is in the subsequent iterations we can take a sub-graph which do not intersect anywhere except at entry or exit. This way DT/PDT will still be preserved in the non-intersecting regions. I think jump-threading also works(should work) on similar lines.
Oct 21 2018
Fix testcases and address comments
Can we land this patch
Oct 19 2018
Oct 15 2018
With this patch I now see a 3% speedup on sqlite vs. no hot-cold-split pass.
Awesome! Thanks for improving this!
Oct 14 2018
Compiler error with CloneType
Oct 13 2018
Oct 8 2018
Oct 6 2018
Oct 5 2018
Oct 4 2018
DEBUG -> LLVM_DEBUG
Oct 3 2018
Oct 2 2018
Modified the testcases to use both pass managers
Use single commandline flag for both pass managers.
Oct 1 2018
Updated testcases with utils/update_test_checks.py
Sep 30 2018
Added support for new PM: https://reviews.llvm.org/D52708
Will add one soon!
Moved the check of Size before checking the LargestInt.
Fixed all testcases, and removed memcpy inlining when target datalayout is not present.
Fix some unit-tests, a few more remaining.
To fix tests and comments from reviewers.
My main worry is that this is only useful with LTO because the linker should do this work otherwise, so at a minimum I need to change the code accordingly.
Sep 25 2018
Sep 24 2018
Sep 21 2018
Sep 18 2018
Sep 17 2018
I think this patch is good to go, I can push this if someone accepts. I'll fix the comments.
Sep 16 2018
Sep 9 2018
If you have the code-size numbers, please provide that then I can accept the patch.
Sep 7 2018
Sep 5 2018
If there are no-more suggestions for this first draft I'd like to get this in (disabled by default) such that people can try and give feedback. Thanks!
Aug 27 2018
Rebase onto top of trunk
I'll rebase onto top of trunk.
Check calling convention of outlined function to discard it form hot-cold split optimization
Added testcase and disable recursive outlining of cold-functions.
Aug 26 2018
Fixed copy-paste error.