Merge alignments from coalesced SSA pointers

Ulrich Weigand uweigand@de.ibm.com
Mon Aug 8 16:34:00 GMT 2011


Michael Matz wrote:
> Hi,
> 
> On Tue, 26 Jul 2011, Michael Matz wrote:
> 
> > On Tue, 26 Jul 2011, Michael Matz wrote:
> > 
> > > Hi,
> > > 
> > > On Tue, 26 Jul 2011, Ulrich Weigand wrote:
> > > 
> > > > > Well, REG_ATTRS->decl is again a decl, not an SSA name.  I suppose
> > > > > we'd need to pick a conservative REGNO_POINTER_ALIGN during
> > > > > expansion of the SSA name partition - iterate over all of them in the
> > > > > partition and pick the lowest alignment.  Or even adjust the partitioning
> > > > > to avoid losing alignment information that way.
> > > > 
> > > > That would certainly be helpful.
> > > 
> > > I'm working on a patch for that, stay tuned.
> > 
> > Like so.  Currently in regstrapping on x86_64-linux.  Could you try if it 
> > helps spu?
> > 
> > Okay for trunk?
> 
> This patch exposes a problem in libada.  But I'd still be interested if it 
> fixes the spu problem.

It turns out that the patch not only fixes the pr49771 failure, but in fact
*all* outstanding vectorizer test case failures on SPU in both mainline and
the 4.6 branch:

On mainline:
FAIL: gcc.dg/vect/pr49771.c execution test
FAIL: gcc.dg/vect/vect-outer-4f.c execution test
FAIL: gcc.dg/vect/vect-outer-4g.c execution test
FAIL: gcc.dg/vect/vect-outer-4k.c execution test
FAIL: gcc.dg/vect/vect-outer-4l.c execution test
FAIL: gcc.dg/vect/pr49771.c -flto execution test
FAIL: gcc.dg/vect/vect-outer-4f.c -flto execution test
FAIL: gcc.dg/vect/vect-outer-4g.c -flto execution test
FAIL: gcc.dg/vect/vect-outer-4k.c -flto execution test
FAIL: gcc.dg/vect/vect-outer-4l.c -flto execution test

On 4.6:
FAIL: gcc.dg/vect/vect-double-reduc-5.c execution test
FAIL: gcc.dg/vect/vect-outer-4f.c execution test
FAIL: gcc.dg/vect/vect-outer-4g.c execution test
FAIL: gcc.dg/vect/vect-outer-4k.c execution test
FAIL: gcc.dg/vect/vect-outer-4l.c execution test


While I'm still somewhat concerned about potential performance regressions,
correctness is of course more important, so I'd really like to see your
patch (or something along its lines) go in ...

Are there any updates on the libada problem or other reasons why the patch
cannot go in?

Thanks,
Ulrich

-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com



More information about the Gcc-patches mailing list