- User Since
- Mar 5 2014, 4:23 PM (231 w, 6 d)
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?
Looks like machine sinking fails because it can't handle the cmovs reading eflags. And it only considers one instruction at a time, but to sink the cmov you have to sink the eflags producer and the cmov together.
Any updates on this one? I like @mclow.lists idea of removing it from __locale.
Mon, Aug 13
Wed, Jul 25
Don't want to lose it, yet!
Sat, Jul 21
Fri, Jul 20
Adding BasicBlock::isEHPad back to preserve the semantics.
I dont have numbers, maybe you can help with that.
May 31 2018
I'll merge this patch as if there are no further feedbacks.
May 17 2018
May 16 2018
May 10 2018
Merged with https://reviews.llvm.org/D30268
May 3 2018
May 2 2018
Apr 26 2018
My testcase got fixed just with https://reviews.llvm.org/D45926. I'm wondering if this patch is still a good idea.
Comments for enum
This is not in trunk I guess, I borrowed this pass from: https://reviews.llvm.org/D22051
It appears this warning may not be always useful because there will be false positives.
Apr 23 2018
Apr 22 2018
Apr 21 2018
Apr 19 2018
The bug which motivated this warning is: https://github.com/jemalloc/jemalloc/commit/4df483f0fd76a64e116b1c4f316f8b941078114d#diff-7b26b977303fe92c093a2245b0eaf255
Apr 17 2018
Warn on bool* to bool conversion during a call only.
Apr 16 2018
I'll probably make this warning for function arguments only (when bool* is passed to a function accepting bool). Many conditionals use bool* -> bool conversion as pointed out by @Quuxplusone and @aaron.ballman
Apr 12 2018
Mar 9 2018
If you want to update using DJ-Graphs and merge sets, I have implemented them in the global-scheduler which I thought could be reused: https://reviews.llvm.org/D32140
Please let me know if you find this useful.
Jan 3 2018
Dec 20 2017
Dec 13 2017
Dec 5 2017
Nov 10 2017
Nov 9 2017
Added a testcase for irreducible control flow.
Nov 7 2017
Oct 27 2017
Sep 12 2017
Sep 8 2017
added auto to relevant places.
Sep 7 2017
Sep 6 2017
use any_of instead of iterating over the successors.
Aug 23 2017
Addressed @dberlin 's comments.
Agreed, we will evaluate if we can this pass as a utility for vectorizer. In the past we tried that but got stuck because we were unable to recompute loop-access-info once the instructions have been reordered. Maybe you can help us here.
Aug 21 2017
Updated MemorySSA updates.
Outlined functions from codegen part.
Aug 20 2017
Results with the patch.
Aug 17 2017
Aug 15 2017
Aug 11 2017
Remove dead comments.
Aug 10 2017
Based on suggestions from @dberlin, I have updated the patch:
- Compute iterated post-dominance frontiers
- Iterate on post-dominator tree to insert CHIargs more efficiently
Aug 7 2017
@hfinkel , I'd appreciate your feedback, and suggestions for improvement.