[RFC] New SRA and early interprocedural SRA

Martin Jambor mjambor@suse.cz
Fri Mar 6 10:10:00 GMT 2009


Hi,

On Wed, Mar 04, 2009 at 12:41:45PM +0100, Eric Botcazou wrote:
> > this is  an updated version of both  SRA passes and fixes  a number of
> > bugs that the previous one had.  These are mostly ADA structure layout
> > peculiarities but also improved caller dereference legality and two or
> > three  of  other stupid  mistakes  relating  to  SSA_NAME handling  in
> > IPA-SRA.
> 
> Great work, Ada's (not ADA, it's a name) peculiarities are often tricky to 
> deal with. :-)

I see :-)

> 
> > The patch bootstraps  (even with ADA) and apart  from a few scan-dumps
> > test cases  there is only one  new failing fortran test  case and four
> > acats/ada testcases (some of them only happening on certain computers,
> > but persistently).
> 
> Is there cdd2a02 among them?  There is at least one Ada front-end issue known 
> to be potentially exposed by SRA in this test.  What are the 4 testcases?
> 

Well, so far I ran four kinds  of tests.  The first was on an internal
Suse  x86_64  machine, with  disabled  bootstrap  with IPA-SRA  always
turned on.   The second one was  the same but with  IPA-SRA turned off
(thus testing  only the new  implementation of intra-SRA).   The third
kind of  test was run on gcc16  at the gcc compile  farm, with IPA-SRA
turned always  on and after bootstrap.   The fourth was  run on gcc17,
with  bootstrap disabled and  with the  patch as  it is  (i.e. IPA-SRA
enabled   only   at   -O3).    Unfortunately,   the   results   differ
substantially.

The ones failing  in the first test are  c94001c, c951002 and cc3019c.
This is  without bootstrap.  When  I ran the  second test in  order to
find  out which  of the  two transformations  caused them,  I  got two
different failures:  c940007 and c954025,  the ones from  the previous
test all worked.

On gcc16 on  compile farm and after bootstrap,  the only failing acats
testcase is cc3019c (this one also  appeared in the first test) but at
this machine there is also a  strange excess error failure in the gnat
testsuite (test_rational_arithmetic.adb).

On gcc17, there were on acats or gnats regression at all.

I  ran the  first and  third test  repeatedly with  the  same results.
Nevertheless,  my  hypothesis at  this  moment  is  that cc3019c  (and
probably   also   test_rational_arithmetic.adb   are   due   to   some
miscompilations  (probably caused  by IPA-SRA)  and the  rest  of them
might  be  some timing  issues  (my  intra-SRA  slows some  code  down
substantially at  the moment,  I will  try to deal  with that  on some
sub-branch of a-i that we intend to create).

Since you might actually understand the testcases, I would be grateful
if you could confirm or rule  out that this is possible.  The relevant
parts of the acats.log file are attached.

Thank you very much for your interest.

Martin


-------------- next part --------------
A non-text attachment was scrubbed...
Name: ada_failures.log
Type: text/x-log
Size: 6489 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20090306/11e919aa/attachment.bin>


More information about the Gcc-patches mailing list