User Details
- User Since
- Feb 12 2013, 12:05 AM (553 w, 4 d)
Jan 2 2018
Ping!
Dec 5 2017
Sep 25 2017
May 15 2017
Ping!
May 9 2017
Ping!
May 1 2017
Apr 30 2017
Use an RAII object to always evaluate the arguments, except if HandleFunctionCall does it.
Apr 29 2017
Apr 28 2017
[No changes, just full context this time.]
If we're now catching integer overflow in more cases, please add some relevant testcases.
Rebase. Now that ObjCBoxedExpr change is in, we can remove Sema::CheckForIntOverflow entirely.
If the boxing method can't be constexpr then we can never evaluate it for a constant value, which means that we should unconditionally return Error, and use noteFailure to decide whether to visit the subexpr.
Apr 24 2017
Apr 23 2017
Apr 11 2017
Apr 7 2017
Feb 13 2017
Sep 30 2016
It looks like I LGTM'd it with comments that aren't resolved. If you don't have commit access, please upload a version which I can commit for you with no changes. Usually I LGTM+comments with the expectation that you can resolve the comments and commit without going through another round of review.
Sep 18 2016
Sep 16 2016
I'm concerned that the fix is too narrow. There's 10 callers to llvm::SplitEdge in LLVM and haven't audited them so I don't know whether they also check whether they also do this check. It's certainly not in the comment on SplitEdge that it's allowed to assert if you pass it a landing pad block.
Aug 31 2016
Aug 30 2016
Aug 29 2016
I think the review this patch really needs is a comparison to GCC's implementation to double-check that it really does the same thing that GCC does. Is there a gcov user who could take a look at this?
Aug 19 2016
Forgot clang changes!
Aug 9 2016
For the IR level, I think this has got to be valid:
Jun 14 2016
Closed by r272755.
Apr 27 2016
Apr 20 2016
Move the m_c_Op pattern matches out of ValueTracking.cpp and into PatternMatch.h. Reuse m_c_Or to simplify the new logic in InstructionSimplify.
Added testcase which I forgot to include the first time.
Mar 3 2016
Feb 8 2016
Just found this linked to from llvm weekly, and was wondering whether this works on the testcase in PR11331 and the dupes of that bug.
Feb 5 2016
What about a ConstantExpr like "and(ptrtoint(@global), 32)"? We don't know the 5th bit of the address of @global, so C->isZeroValue() returns false (since we don't know it's zero), but isKnownNonZero must also return false (since we don't know it's non-zero). With your patch, we would incorrectly return true.
Feb 1 2016
Spiffy!
Jan 4 2016
(I'm not doing a full review, I just happened to notice a couple things when skimming.)
Dec 8 2015
Nov 10 2015
Nov 8 2015
This is overlapping with D14003?
This adds a call to "processInvariantIntrinsic" in GVN.cpp, but there is no such function and it isn't defined in this patch?
I've been thinking about this patch and I don't understand what change you're trying to make at a high level.
Patch needs testcases.
Nov 3 2015
Nov 2 2015
Oct 27 2015
I'm okay with either or both of changing existing testcases because of this change (ie., to represent the slightly weaker optimization) and/or adding a new testcase to ensure we don't get this exact thing wrong. I just didn't want it to go in with no change to the tests at all.
That is one big function.
LGTM
Oct 19 2015
Oct 16 2015
LGTM, but please do the obvious thing with zext too. I don't feel like the zext tests will need my review, but you can ask me to look at them if you feel otherwise. Thanks for the patch!
LGTM
Oct 12 2015
Oct 9 2015
The logic looks correct, and I really like the test!
Oct 1 2015
I can't meaningfully review this, but I see nothing wrong here.
LGTM, thanks for the extensive gvn test!
Sep 29 2015
Sep 18 2015
LGTM with changes.
Sep 15 2015
I just noticed that I'm listed as a reviewer here. I'm not familiar enough
with this are of llvm to review this patch. Do you need me to patch it in
and try it out?
A few unconnected issues:
LGTM
Is there a LangRef change that introduces the barrier? If that's simply in a different review, then LGTM. Usually I'd ask for the feature and the LangRef change to land together, but it also makes sense to put the LangRef update for !invariant.group and @llvm.invariant.group.barrier together.
Sep 11 2015
LGTM
Sep 8 2015
Sep 2 2015
Forgot to write LGTM when I accepted revision.
Typo in summary, "There was ifinite loop" should say "infinite".
Aug 27 2015
Aug 24 2015
This looks correct, but probably not enough.
Aug 19 2015
Aug 18 2015
Aug 17 2015
Aug 10 2015
Aug 3 2015
Jul 21 2015
Jul 20 2015
LGTM
This looks nearly ready to land. I've convinced myself that "MergePendingStores" is doing the right thing.
Jul 15 2015
I'm worried about the memory usage of storing all of them. It feels like you traded CPU time for more memory when you didn't need to.