- User Since
- Dec 12 2019, 1:37 PM (41 w, 7 h)
Tue, Sep 22
Sat, Sep 19
@baziotis Are you going to update this diff?
Fri, Aug 28
Thu, Aug 27
Jul 30 2020
Jul 28 2020
- Added doc.
One proposal by a friend of mine, GeorgeLS, is that we can make a wrapper in which instead of passing a bool, we pass a BitWord.
And then we XOR with this BitWord every BitWord we read from Bits. So, the passed BitWord acts conditionally. If we want the "unset" version, we pass ~0.
If we want the "set" version, we pass 0.
Jul 27 2020
Apart from that, now that I'm seeing it again, in LAA, we probably want to move a lot of vectors out of loops and just reset() them.
Jul 26 2020
Instead of accumulating in AccessInfos, couldn't we just reiterate the alias set (if we didn't bail out)?
Jul 17 2020
Jul 14 2020
The code is quite good and clean. Most comments are on the doc so that we can make it good and clean too and move to the full patch.
Jul 13 2020
A nit comment is to please start comments with caps.
Jul 8 2020
Jul 7 2020
Nit comments, I haven't yet digested the whole patch.
First of all, great patch. Reading the description and the referenced diff, I can't find an explanation about what this patch tries to do, it would be good if you added that. My assumption is:
Jul 3 2020
I partially agree but also IMHO empty() is confusing enough so that introducing isInnermost/Outermost has benefit that outweighs the cost. A Loop can contain both BBs and loops which is different than DominatorTree AFAIK (which can only contain BBs).
This is a big source of confusion when one comes across it in the code (and as I said, personally I assumed it had to do with the BBs).
Jul 2 2020
Thanks for the reviews, I'm updating.
Jun 30 2020
I created the review instead of just committing to discuss that it may be a good idea to even rename this e.g. to "isInnermost()".
With "empty()", it's not clear if the implementation is:
return getSubLoops().empty() or return !getNumBlocks() (or something else)
May 28 2020
May 26 2020
May 25 2020
Ping :) Should I commit?
May 15 2020
Thanks for the comments!
Apr 11 2020
Apr 4 2020
Differential Review: https://reviews.llvm.org/D71960/
- Final update
Committed but of course I forgot again to add the differential revision. I don't why I continuously do that, sorry. :)
I'll add it to the commit in Phabricator and close this when the commit is ready.
Apr 2 2020
Mar 31 2020
No, problem, thanks for the review and the info!
Mar 30 2020
- Addressed SCEV behavior in loop-variant expressions.
Mar 29 2020
- Various typos.
- Added def-use chain info as a footnote since its used twice. Also a footnote about LCSSA construction (I consider it interesting but in a footnote because it may be irrelevant in the main text).
- Added some info about SCEV.
Personally I don't have problem with big files, sometimes they're more easy to use. But I definitely agree that we should start thinking about structure and splitting into files can help.
Mar 26 2020
Mar 23 2020
Thanks to both!
Should I commit now?
Can I get a look on this?
Mar 21 2020
Mar 19 2020
- Added other advantages.
- Rephrased Chris's wording a little bit as it was not very clear to me. Also, the deep analysis, the more I thought of it and as @Meinersbur mentioned,
does not seem to be needed any way. We could use RAUW() to achieve this effect (although it would still be more expensive).
Mar 18 2020
Mar 17 2020
Run update_test_checks.py over 2008-08-14-ShadowIV.ll. Added some CHECK-NOTs over it.
Mar 16 2020
Differential revision: https://reviews.llvm.org/D75013
Closed by commit: https://reviews.llvm.org/rG7fa204580dfeb447f8da4d7da482c187b851914f
Fixed nits. Ready for commit.
Mar 15 2020
- Replacement of getAssociatedFunction() with getAnchorScope() where I think it's almost certain we want the parent function (we can revert that if you don't like it).
- Other small refactorings.
sizeof(Kind + ArgNo) <= 64
Oh bytes, yes. With the change they will take 16 bytes (as now).
Mar 14 2020
I kind of like how this is working, but if others agree you can change it.