[Bug tree-optimization/65337] [5 Regression] bootstrap-lto gnat1 linktime ICE: gcc/ada/exp_aggr.adb:6570:0: internal compiler error: in forward_edge_to_pdom, at tree-ssa-dce.c:1086

2015-03-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65337

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug tree-optimization/65337] [5 Regression] bootstrap-lto gnat1 linktime ICE: gcc/ada/exp_aggr.adb:6570:0: internal compiler error: in forward_edge_to_pdom, at tree-ssa-dce.c:1086

2015-03-15 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65337

--- Comment #3 from Jan Hubicka hubicka at gcc dot gnu.org ---
Indeed, the cd-dce is one the worst documented of the tradition SSA
optimizations. I commented on this to Jakum on IRC.  The mechanizm that should
prevent conditional from being removed is the control dependency. For every PHI
argument, the control dependent conditional is marked live.
So it is a question why the control dependent conditional is not live here -
one of problems I remember was that control dependency is defined for basic
blocks, while PHI handling needs it for edges.  This mostly does not matter
because critical edges are split, but with abnormal edges perhaps we manage to
get things wrong.

I am finishing paper today and fly to Vancouver at Tuesday, but will try to
look into this as time allows.


[Bug tree-optimization/65337] [5 Regression] bootstrap-lto gnat1 linktime ICE: gcc/ada/exp_aggr.adb:6570:0: internal compiler error: in forward_edge_to_pdom, at tree-ssa-dce.c:1086

2015-03-13 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65337

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-03-13
 Ever confirmed|0   |1

--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org ---
Thus confirmed at least.  IIRC this is a tricky area ;)  (but the issue is
surely latent since quite some time)


[Bug tree-optimization/65337] [5 Regression] bootstrap-lto gnat1 linktime ICE: gcc/ada/exp_aggr.adb:6570:0: internal compiler error: in forward_edge_to_pdom, at tree-ssa-dce.c:1086

2015-03-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65337

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org,
   ||jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
I can reproduce this, but wonder if the bug isn't just earlier in CD-DCE where
the GIMPLE_COND should have been marked necessary.  The immediate
post-dominator is very far from the bb and has tons of incoming edges, some
PHIs are not marked as unnecessary and certainly aren't degenerate:

bb 171:
# _17 = PHI 0(15), 0(19), 0(21), 1(34), 0(115), 0(121), 0(129), 0(132),
0(137), 0(140), _112(143), 1(170), 0(31), 1(113), 0(50), 0(42), 0(37), 0(52),
0(46), 0(48)
# JMPBUF_SAVE_926(ab) = PHI JMPBUF_SAVE_6(ab)(15), JMPBUF_SAVE_590(ab)(19),
JMPBUF_SAVE_590(ab)(21), JMPBUF_SAVE_590(ab)(34), JMPBUF_SAVE_590(ab)(115),
JMPBUF_SAVE_590(ab)(121), JMPBUF_SAVE_590(ab)(129), JMPBUF_SAVE_590(ab)(132),
JMPBUF_SAVE_590(ab)(137), JMPBUF_SAVE_590(ab)(140), JMPBUF_SAVE_590(ab)(143),
JMPBUF_SAVE_590(ab)(170), JMPBUF_SAVE_590(ab)(31), JMPBUF_SAVE_590(ab)(113),
JMPBUF_SAVE_590(ab)(50), JMPBUF_SAVE_590(ab)(42), JMPBUF_SAVE_590(ab)(37),
JMPBUF_SAVE_590(ab)(52), JMPBUF_SAVE_590(ab)(46), JMPBUF_SAVE_590(ab)(48)
# prephitmp_56 = PHI addr_195(15), pretmp_285(19), pretmp_414(21),
pretmp_413(34), pretmp_418(115), pretmp_412(121), pretmp_286(129),
pretmp_419(132), pretmp_735(137), pretmp_713(140), pretmp_703(143),
pretmp_714(170), pretmp_801(31), pretmp_814(113), pretmp_352(50),
pretmp_353(42), pretmp_355(37), pretmp_189(52), pretmp_267(46), pretmp_261(48)
# DEBUG addr = (const system__address) JMPBUF_SAVE_926(ab)
_796 = system__soft_links__set_jmpbuf_address;
_796 (prephitmp_56);

is the post_dom_bb, and

bb 117:
# DEBUG n = _201
_10 = _264;
_601 = _264 * 32;
_233 = _262 + _601;
_724 = MEM[(struct atree__atree_private_part__node_record[2147483648] *)_233 +
104B];
# DEBUG D#7737 = (types__node_id___XDLU_0__) _724
# DEBUG id = D#7737
# DEBUG e = D#7737
_732 = (sizetype) _724;
_733 = _732 + 1;
_734 = *_262[_733].nkind;
_727 = _734 + 243;
if (_727  11)
  goto bb 118;
else
  goto bb 122;

is e-src.  Honza, this is your code, can you please have a look?


[Bug tree-optimization/65337] [5 Regression] bootstrap-lto gnat1 linktime ICE: gcc/ada/exp_aggr.adb:6570:0: internal compiler error: in forward_edge_to_pdom, at tree-ssa-dce.c:1086

2015-03-09 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65337

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||build
 Target||x86_64-*-*
  Component|bootstrap   |tree-optimization
   Target Milestone|--- |5.0
Summary|5.0 bootstrap-lto gnat1 |[5 Regression]
   |linktime ICE:   |bootstrap-lto gnat1
   |gcc/ada/exp_aggr.adb:6570:0 |linktime ICE:
   |: internal compiler error:  |gcc/ada/exp_aggr.adb:6570:0
   |in forward_edge_to_pdom, at |: internal compiler error:
   |tree-ssa-dce.c:1086 |in forward_edge_to_pdom, at
   ||tree-ssa-dce.c:1086