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. 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; brgds, H-P