SLP/Loop vectorizer pass ordering
hfinkel at anl.gov
Wed Aug 27 14:38:37 PDT 2014
----- Original Message -----
> From: "Hal Finkel" <hfinkel at anl.gov>
> To: "Chandler Carruth" <chandlerc at google.com>
> Cc: "Chad Rosier" <mcrosier at codeaurora.org>, "LLVM Commits" <llvm-commits at cs.uiuc.edu>, "Tobias Grosser"
> <tobias at grosser.es>, "James Molloy" <james at jamesmolloy.co.uk>
> Sent: Wednesday, August 27, 2014 8:24:33 AM
> Subject: Re: SLP/Loop vectorizer pass ordering
> ----- 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.
> > 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.
> I'll look at it. It seems like the most recent set of changes to the
> feature now cause a test-suite failure
> (MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4) [I thought I had
> checked that before committing, but apparently not]. I'll
> investigate this and then you can retry after it is fixed.
So this ought to be fun...
Compiling with -O3 -march=native passes
with -O3 -march=native -mllvm -enable-noalias-to-md-conversion fails
with -O3 -march=native -mllvm -enable-noalias-to-md-conversion -mllvm -codegen-validate-aa passes
so inserting AA verifications checks at the end of the IR passes in CodeGen not only catches no errors, but makes the test produce the correct output ;) [the instrumentation is from http://reviews.llvm.org/D4446] -- this might make sense if x86 used AA in CodeGen, but it doesn't.
Sharing just for amusement value...
> > 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.
> Hal Finkel
> Assistant Computational Scientist
> Leadership Computing Facility
> Argonne National Laboratory
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory
More information about the llvm-commits