[Bug tree-optimization/49645] [4.7 regression] g++.dg/tree-ssa/pr8781.C FAILs on Tru64 UNIX

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jul 6 08:22:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49645

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2011.07.06 08:21:35
         AssignedTo|unassigned at gcc dot       |rguenth at gcc dot gnu.org
                   |gnu.org                     |
   Target Milestone|---                         |4.7.0
     Ever Confirmed|0                           |1

--- Comment #2 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-07-06 08:21:35 UTC ---
Weird.  I can't see what should be target specific in this test (all relevant
functions are inlined).

Ah, on x86_64 I see that SRA did something, so I see in the .esra dump:

<bb 2>:
  pred = f;
  SR.36_52 = &pred;
  SR.37_51 = SR.36_52;
  MEM[(struct noop_t *)&pred].pred = SR.37_51;
  SR.38_50 = &pred;
  SR.39_48 = SR.38_50;
  MEM[(struct noop_t *)&pred].pred = SR.39_48;
  SR.40_47 = &pred;
  SR.41_45 = SR.40_47;
  MEM[(struct noop_t *)&pred].pred = SR.41_45;
  SR.42_44 = &pred;
  SR.43_42 = SR.42_44;
  MEM[(struct noop_t *)&pred].pred = SR.43_42;
...
  D.2683_15 = D.2693_14->pred;
  D.2691_16 = D.2683_15->pred;
  D.2684_17 = D.2691_16->pred;
  D.2690_18 = D.2684_17->pred;
  D.2685_19 = D.2690_18->pred;
  D.2689_20 = D.2685_19->pred;
  D.2686_21 = D.2689_20->pred;
  D.2688_22 = D.2686_21->pred;
  D.2687_23 = *D.2688_22;
  D.2682_24 = D.2687_23 ();


On the 4.6 branch FRE1 is after final inlining, so maybe there is enough
cleanup there to make it work.

Still FRE should work this out without SRA, so I'm taking this one.



More information about the Gcc-bugs mailing list