Patchwork Cgraph alias reorg 15/14 (New infrastructure for same body aliases)

login
register
mail settings
Submitter Hans-Peter Nilsson
Date June 22, 2011, 9:39 p.m.
Message ID <alpine.BSF.2.00.1106221734390.37880@dair.pair.com>
Download mbox | patch
Permalink /patch/101555/
State New
Headers show

Comments

Hans-Peter Nilsson - June 22, 2011, 9:39 p.m.
On Sun, 19 Jun 2011, Jan Hubicka wrote:
> > > On Sat, 11 Jun 2011, Jan Hubicka wrote:
> > >
> > > > Hi,
> > > > this patch complettes the same body alias rework by removing the old same body
> > > > alias code and adding new representation.  Same body aliases are now separate
> > > > function nodes that have IPA_REF_ALIAS reference to the node they are alias of.
> > > >
> > > > I am still getting one failure:
> > > > FAIL: g++.dg/torture/pr43879-1_1.C
> > > >
> > > > It tests IPA PTA in presence of same body aliases.  I honestly have no idea
> > > > what is wrong there.  I decided to go ahead with the patch anyway, given the
> > > > current state of affair of aliases and IPA-PTA. Hope Richard will help me
> > > > fixing this on Monday.
> > >
> > > Still there, see again PR49373.  Anything better than a xfail in the works?
> >
> > Yes, we discussed the problem with Richi and the issue is that ipa-pta gets
> > confused by inliner redirecting edge from alias to the real inline clone.
> > The proper fix is to teach passmanager to do small ipa passes before final
> > compilation.  I am currently at the GCC gathering, so I plan to implement
> > this day after tomorrow after returning.
> But for sure we can xfail it.

Ok, done:

	PR middle-end/49373
	* g++.dg/torture/pr43879-1_1.C: Xfail for -O1 and above, except -flto.


brgds, H-P

Patch

Index: g++.dg/torture/pr43879-1_1.C
===================================================================
--- g++.dg/torture/pr43879-1_1.C	(revision 174961)
+++ g++.dg/torture/pr43879-1_1.C	(working copy)
@@ -1,6 +1,7 @@ 
 /* { dg-do run } */
 /* { dg-options "-fipa-pta" } */
 /* { dg-additional-sources "pr43879-1_0.C" } */
+/* { dg-xfail-run-if "PR49373" { *-*-* } { -O1 -O2 -O3 -Os } { -flto } } */

 struct A {
     int *i;