[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-24 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #23 from John David Anglin danglin at gcc dot gnu.org 2011-05-24 18:44:38 UTC --- Author: danglin Date: Tue May 24 18:44:35 2011 New Revision: 174132 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174132 Log: PR

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-24 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 John David Anglin danglin at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-23 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 Eric Botcazou ebotcazou at gcc dot gnu.org changed: What|Removed |Added CC||ebotcazou at

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-23 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #14 from John David Anglin danglin at gcc dot gnu.org 2011-05-23 15:57:49 UTC --- This is how insn 433 is deleted: Breakpoint 14, delete_insn (insn=0x1ba9c60) at ../../gcc/gcc/cfgrtl.c:110 110 rtx next = NEXT_INSN (insn); (gdb)

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-23 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #13 from John David Anglin danglin at gcc dot gnu.org 2011-05-23 15:48:43 UTC --- Ok, I'll see if I can find out why it's being deleted. In the first try, we have the following rtl: Breakpoint 12, mark_target_live_regs

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-23 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #17 from John David Anglin danglin at gcc dot gnu.org 2011-05-23 16:53:04 UTC --- Jump is redirected here: Breakpoint 17, reorg_redirect_jump (jump=0x1ba9cc0, nlabel=0x1bac660) at ../../gcc/gcc/reorg.c:1882 1882

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-23 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #16 from John David Anglin danglin at gcc dot gnu.org 2011-05-23 16:40:57 UTC --- The use is deleted because insn 434 has been retargeted from code_label 322 to code_label 465: (insn 434 58 366 ../../gcc/gcc/basic-block.h:194

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-23 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #18 from John David Anglin danglin at gcc dot gnu.org 2011-05-23 16:57:02 UTC --- So, the problem is here: /* Figure out where to emit the special USE insn so we don't later incorrectly compute register

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-23 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #15 from John David Anglin danglin at gcc dot gnu.org 2011-05-23 16:18:41 UTC --- Breakpoint 15, delete_related_insns (insn=0x1ba1390) at ../../gcc/gcc/jump.c:1126 1126 int was_code_label = (LABEL_P (insn)); (gdb) p debug_rtx

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-23 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #19 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-05-23 18:00:56 UTC --- This code fails to handle the case where there already is a use. This should have been fixed in 4.5 and above: PR rtl-optimization/40086

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-23 Thread dave at hiauly1 dot hia.nrc.ca
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #20 from dave at hiauly1 dot hia.nrc.ca 2011-05-23 18:52:27 UTC --- On Mon, 23 May 2011, ebotcazou at gcc dot gnu.org wrote: This code fails to handle the case where there already is a use. This should have been fixed in 4.5 and

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-23 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #21 from Eric Botcazou ebotcazou at gcc dot gnu.org 2011-05-23 19:33:36 UTC --- Ok to backport this fix after testing to 4.3 and 4.4? I would also like to backport this fix PR rtl-optimization/42775 * cfgrtl.c

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-23 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #22 from John David Anglin danglin at gcc dot gnu.org 2011-05-23 22:31:59 UTC --- Author: danglin Date: Mon May 23 22:31:55 2011 New Revision: 174090 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=174090 Log: PR

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-22 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #11 from John David Anglin danglin at gcc dot gnu.org 2011-05-23 02:39:31 UTC --- It seems to me the following is broken: Once we have found a basic block and a corresponding first insn, we can accurately compute the live

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-21 Thread dave at hiauly1 dot hia.nrc.ca
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #9 from dave at hiauly1 dot hia.nrc.ca 2011-05-21 14:57:02 UTC --- Could this have been fixed by PR 42775 which does not change reorg but rather free_cfg? No. I have tried it on hppa2.0w-hp-hpux11.11 and just tried it with darwin

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-21 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #10 from John David Anglin danglin at gcc dot gnu.org 2011-05-21 22:47:34 UTC --- This PR seems similar to PR rtl-optimization/40710. It seems opposite_needed is incorrectly calculated after the first delay slot iteration in

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-20 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #5 from John David Anglin danglin at gcc dot gnu.org 2011-05-20 19:19:35 UTC --- This loop in cleanup_tree_cfg_1 is miscompiled: /* Start by iterating over all basic blocks. We cannot use FOR_EACH_BB, since the basic blocks

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-20 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 John David Anglin danglin at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-20 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #7 from John David Anglin danglin at gcc dot gnu.org 2011-05-21 03:59:49 UTC --- Comparing reorg.c from 4.3 versus 4.4, it seems like the problem may be latent in more recent versions.

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-20 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #8 from Andrew Pinski pinskia at gcc dot gnu.org 2011-05-21 04:51:10 UTC --- Could this have been fixed by PR 42775 which does not change reorg but rather free_cfg?

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-16 Thread dave at hiauly1 dot hia.nrc.ca
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #4 from dave at hiauly1 dot hia.nrc.ca 2011-05-16 16:22:28 UTC --- On Mon, 16 May 2011, danglin at gcc dot gnu.org wrote: By trial and error, it appears tree-cfgcleanup.c is miscompiled at -O1 without -fno-delayed-branch. Attached

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-15 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #1 from John David Anglin danglin at gcc dot gnu.org 2011-05-15 21:19:15 UTC --- The then and else labels are the same for the cond: Breakpoint 12, 0x00361cb4 in make_edges () at ../../gcc/gcc/tree-cfg.c:801 801 then_bb =

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-15 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #2 from John David Anglin danglin at gcc dot gnu.org 2011-05-15 22:26:47 UTC --- Breakpoint 5, make_cond_expr_edges (bb=0x7ac36b40) at ../../gcc/gcc/tree-cfg.c:793 793 gcc_assert (entry); (gdb) p debug_gimple_stmt ($ret0) if

[Bug rtl-optimization/49007] ICE in extract_true_false_edges_from_block at tree-cfg.c:7379

2011-05-15 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49007 --- Comment #3 from John David Anglin danglin at gcc dot gnu.org 2011-05-16 01:35:28 UTC --- By trial and error, it appears tree-cfgcleanup.c is miscompiled at -O1 without -fno-delayed-branch.