- User Since
- Oct 15 2012, 11:56 PM (349 w, 1 d)
Thu, Jun 13
Could you include a test with this patch?
We can, however, use information from non-exact definitions to improve
themselves as they are either replaced as a whole or not at all.
Sun, Jun 9
The current algorithm can deduce only for very simple cases.
- A function doesn't have any loop.
- A function doesn't have any recursion.
Why did the number of nounwinds drop?
Sat, Jun 8
Thu, Jun 6
Apr 27 2019
This update adds a failing test @test21 which demonstrates a miscompile. While we check the block with the free in it for potentially-malloc'ing instructions, we don't examine all the possible paths from where that free was pre-transform to the new location of the free post-transform.
Apr 26 2019
Apr 16 2019
CFG.cpp doesn't have many non-cleanup authors, Bruno once made a change all the way back in 2015 to improve the performance of isPotentiallyReachable. Alina, I've added you since you reviewed my previous change to isPotentiallyReachable when it affected LICM. This series of patches improves performance of isPotentiallyReachable, primary by taking advantage of dominator tree properties.
Apr 15 2019
Apr 13 2019
The two statements:
We could simply say that the store *is undefined*, and prune the path.
The motivating case for this involves a memmove to a buffer which is constant down a path which is dynamically dead.
conspire to make me think that pruning the whole path really is the right thing to do. This might be the only hint the compiler has that the path is dead code.
Apr 11 2019
Apr 10 2019
Apr 6 2019
Apr 5 2019
Apr 4 2019
Apr 3 2019
Apr 2 2019
Fixed creation of invalid IR when the loop exit block we need to insert a free call in, is a catchswitch block.
Apr 1 2019
I've only skimmed through the high level comments so far, so if if any of this is addressed inline, just say so.
I was wondering why you phrased this as a combination of hoisting and sinking as opposed to promotion. We have the scalar promotion path, and the basic transform you're doing feels a lot like promotion. I suspect that many of the legality aspects will be common.
Committed revision 357425.
Mar 31 2019
Nov 8 2018
Oct 23 2018
Oct 16 2018
Oct 5 2018
I misspoke, I meant to say please wait for another reviewer. I've been away from LLVM long enough that I don't have enough context to OK patches to land, but I didn't mean that rnk must be the other reviewer. Sorry!
This looks good to me, but please wait for rnk.
Oct 4 2018
I don't understand the logical model behind byval, but I'll review the change to TRE under the assumption that the goal of the patch is correct.