User Details
- User Since
- Jun 2 2014, 9:55 AM (485 w, 5 d)
Dec 18 2015
LGTM
Oct 16 2015
ping?
Oct 2 2015
Sep 9 2015
LGTM. Good catch!
Aug 26 2015
I agree with Jingyue's cleanup suggestion. Otherwise LGTM.
Aug 11 2015
Test added. Unfortunately the stand alone Eigen3 benchmarks don't show much improvement with this patch because, I believe, they use 32-bit indices throughout. Where we see the huge speedup is in the larger-scale benchmarks using Eigen with 64-bit indices.
Aug 10 2015
Thanks!
Aug 7 2015
Ping, Hal? Thanks!
Aug 3 2015
Jul 13 2015
Jul 9 2015
From your earlier comments it wasn't clear whether you were suggesting that
the front end should add unroll.full and unroll.disable.runtime metadata
with "#pragma unroll" OR if unroll.full metadata should imply no runtime
unrolling in the optimizer. I opted for the latter. It seemed more natural
for the front-end just to do a straight-forward map of the directives to
metadata, and then the optimizer has the logic to properly deal with funny
cases like pragma unroll on a runtime trip count loop.
Removing the llvm-specific flag sounds good to me. Updated in diff.
Update unrolling behavior for unroll(full) directive as discussed in http://reviews.llvm.org/D10857.
Jul 7 2015
Jul 1 2015
Jun 30 2015
LGTM. Just one nit comment/question.
Jun 23 2015
Jun 16 2015
LGTM. Thanks!
Jun 12 2015
Thanks for fixing this. This certainly seems saner than what is there now. Some clarifying comments about MaxSize might be good. Superficially it looks like some global budget because it is a pass level value and gets decremented per loop, but in reality all the budget gets returned when the pass is done with a loop and all of it's clones.
May 28 2015
Sorry for the delay. LGTM.
LGTM
May 15 2015
May 14 2015
LGTM
May 7 2015
May 5 2015
Apr 23 2015
LGTM.
Apr 21 2015
LGTM.
LGTM
LGTM with the addition of the new flag to the unit tests.
Apr 20 2015
Apr 16 2015
LGTM.
LGTM.
Apr 15 2015
There was a discussion on the mailing list about the exact issue this patch is addressing. We (Google team working on NVPTX backend) ran into this same issue as did someone (Francois Pichet) working with the ppc backend. Here's the link to the discussion:
Apr 14 2015
LGTM.
Apr 6 2015
LGTM. Thanks!
Apr 2 2015
Mar 11 2015
Thanks, Jingyue. LGTM
Feb 23 2015
Feb 2 2015
LGTM
Jan 20 2015
LGTM
Dec 15 2014
Dec 11 2014
Dec 10 2014
Dec 5 2014
Andrew, any comment on this? This just reverts back to a previous more
conservative (and correct) analysis.
Dec 4 2014
Nov 12 2014
Small nit.
Oct 10 2014
Commited r219517.
Just fyi, I ran SPEC to see if there was any performance change. Performance difference was in the noise.
Oct 8 2014
Thanks for the review.
Oct 3 2014
Oct 2 2014
Sep 30 2014
The review diff tool doesn't do a very good job of presenting it, but a big chunk of the patch is moving the class SCEVDivision and a few static functions earlier in the file so they can be used in ScalarEvolution::HowFarToZero.
Aug 28 2014
LGTM
Jul 24 2014
Committed as r213900.
Thanks! Test added. Will lead with that next time ;-)
Just a couple suggestions which might simplify the code.
Jul 23 2014
Thanks! Committed with r213789.
Jul 18 2014
Committed with r213412.
Jul 17 2014
Thanks for the comments. I'll immediately follow this with the updated patch.
Jul 16 2014
LGTM.
Jul 15 2014
I added a warning if the wrong pragma unroll syntax is used with CUDA. When Tyler's change adding support for expressions in loop pragmas lands, I'll add a warning for the case when the pragma argument is not an integer literal in CUDA mode. Responses to Aaron's comments inline.
Jul 10 2014
commited as r212782.
On Wed, Jun 25, 2014 at 9:34 AM, Eli Bendersky <eliben@google.com> wrote:
Is this part of the code well covered by tests? Maybe some more targeted
tests can be crafted.
Jul 8 2014
Thanks for the comments. Responses are below. With this patch "#pragma unroll" and "#pragma clang loop unroll" syntaxes are both supported. I also added "#pragma nounroll" as both icc and xlc support this pragma.
Jul 1 2014
Thanks all for your comments. This patch reduces much of the implementation duplication from the previous patch. Unroll and loop optimization hints now both share the same attribute.
Jun 25 2014
Thanks for the comments, Eli. This patch addresses them all.