SLP/Loop vectorizer pass ordering
hfinkel at anl.gov
Sun Aug 31 21:50:31 PDT 2014
----- Original Message -----
> From: "Chandler Carruth" <chandlerc at google.com>
> To: "James Molloy" <james at jamesmolloy.co.uk>
> Cc: "Chad Rosier" <mcrosier at codeaurora.org>, "Hal Finkel" <hfinkel at anl.gov>, "LLVM Commits"
> <llvm-commits at cs.uiuc.edu>, "Tobias Grosser" <tobias at grosser.es>
> Sent: Wednesday, August 27, 2014 4:38:06 AM
> Subject: Re: SLP/Loop vectorizer pass ordering
> On Wed, Aug 27, 2014 at 2:29 AM, James Molloy <
> james at jamesmolloy.co.uk > wrote:
> Hi Chandler,
> This is waiting on you reporting numbers, I think. Did you get a
> chance to run your benchmarks?
> Sorry, I should have followed up here as well as on IRC with Hal.
> I tried to get numbers. However, enabling Hal's feature caused a
> large number of my benchmarks to fail... over 50% of them. So I
> didn't get much useful data. What I got looked fine, but I'd really
> rather some higher confidence in the scoped-aa stuff first.
Please try again after r216863 (which at least gives me a clean test-suite and self-host on Linux/x86_64). The noalias parameter attribute -> metadata conversion logic, as it turns out, was pretty broken -- it is certainly better now.
In case you're curious where all your noalias parameters are coming from, aside from the obvious places where you have __restrict__, it is also that Clang adds noalias to every sret parameter (for aggregate return values). As a result, we actually get reasonable testing coverage from self-hosting on the noalias -> metadata conversion (or so I currently believe).
> I'm not sure what to do next though. I mean, I can spend a bunch of
> time trying to reduce a test case, but it will take me a huge amount
> of time.
> Note that all the code failing is compiled with no TBAA and there is
> very little C code involved... so I feel lik ethere must be
> something pretty basic that is going wrong with this new mode.
Yes, there certainly was.
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory
More information about the llvm-commits