- User Since
- Mar 5 2014, 4:23 PM (240 w, 5 d)
With this patch I now see a 3% speedup on sqlite vs. no hot-cold-split pass.
Awesome! Thanks for improving this!
Sun, Oct 14
Compiler error with CloneType
Sat, Oct 13
Mon, Oct 8
Sat, Oct 6
Fri, Oct 5
Thu, Oct 4
DEBUG -> LLVM_DEBUG
Wed, Oct 3
Tue, Oct 2
Modified the testcases to use both pass managers
Use single commandline flag for both pass managers.
Mon, Oct 1
Updated testcases with utils/update_test_checks.py
Sun, Sep 30
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.
Tue, Sep 25
Mon, Sep 24
Fri, Sep 21
Tue, Sep 18
Mon, Sep 17
I think this patch is good to go, I can push this if someone accepts. I'll fix the comments.
Sun, Sep 16
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.
Aug 25 2018
Suggestions from Sebastian:
Aug 19 2018
Forward propagate profile information to all cold-blocks.
Aug 18 2018
Do you need help with pushing the changes?
Updated with patches from @sebpop
Aug 17 2018
Thanks @sebpop for the patches. I'll update them. Having a static analysis to split the blocks will definitely help when we don;t have profile.
Aug 15 2018
Thanks for improving the docs. I'll merge this!
LGTM, thanks for the test.
Thanks for the patch.
There was discussion sometime back, might be worth looking at: https://groups.google.com/forum/#!topic/llvm-dev/uLvitfqEd_g
Aug 14 2018
Accepting because there are no alternate suggestions, and this patch fixes miscompiles preventing NewGVN to be used in some cases.
Merged with GVNHoist long time back.
LGTM with the minor nit.
Have you tested this patch with some benchmarks or an open source project? What is the impact on compilation time?
The general idea appears to be good, do you have any testcases reflect the change?