[Bug tree-optimization/33302] dead-store not eliminated

2007-09-06 Thread rguenth at gcc dot gnu dot org
--- Comment #8 from rguenth at gcc dot gnu dot org 2007-09-06 09:06 --- Fixed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug tree-optimization/33302] dead-store not eliminated

2007-09-06 Thread rguenth at gcc dot gnu dot org
--- Comment #9 from rguenth at gcc dot gnu dot org 2007-09-06 09:06 --- Subject: Bug 33302 Author: rguenth Date: Thu Sep 6 09:05:58 2007 New Revision: 128180 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=128180 Log: 2007-09-06 Richard Guenther [EMAIL PROTECTED] PR

[Bug tree-optimization/33302] dead-store not eliminated

2007-09-06 Thread wouter dot vermaelen at scarlet dot be
--- Comment #10 from wouter dot vermaelen at scarlet dot be 2007-09-06 11:48 --- I'm sorry, but can you recheck? The testcase at the top of this bug report still generates the same asm code for me. -- wouter dot vermaelen at scarlet dot be changed: What|Removed

[Bug tree-optimization/33302] dead-store not eliminated

2007-09-06 Thread rguenth at gcc dot gnu dot org
--- Comment #11 from rguenth at gcc dot gnu dot org 2007-09-06 12:13 --- The extra store you still see is caused by -ftracer duplicating it. Optimizations after that don't catch that (because of the intervening possibly aliasing loads I guess): (insn 25 24 27 4 t.ii:3 (set (mem/s:SI

[Bug tree-optimization/33302] dead-store not eliminated

2007-09-05 Thread rguenth at gcc dot gnu dot org
--- Comment #1 from rguenth at gcc dot gnu dot org 2007-09-05 11:33 --- While RTL dse eliminates the redundant store to this-D.2013.a, tree-level DSE does not do so. (RTL dse also fails with -O3 -fforce-addr -ftracer) bb 4: # VUSE tab_54, SMT.9_56 D.2089_34 = this_2(D)-D.2013.a;

[Bug tree-optimization/33302] dead-store not eliminated

2007-09-05 Thread rguenth at gcc dot gnu dot org
--- Comment #2 from rguenth at gcc dot gnu dot org 2007-09-05 11:48 --- DSE does a post-dominator walk starting from the exit block. But the exit block has no predecessors because the function does never exit ;) void foo(int *p) { while (1) { *p = 0; *p = 0; } }

[Bug tree-optimization/33302] dead-store not eliminated

2007-09-05 Thread steven at gcc dot gnu dot org
--- Comment #3 from steven at gcc dot gnu dot org 2007-09-05 12:35 --- You can connect the exits by inserting fake edges. See add_noreturn_fake_exit_edges and connect_infinite_loops_to_exit. Not sure which one you would need in this case. Just be sure to call it before computing

[Bug tree-optimization/33302] dead-store not eliminated

2007-09-05 Thread rguenth at gcc dot gnu dot org
--- Comment #4 from rguenth at gcc dot gnu dot org 2007-09-05 12:41 --- Ah, I only found add_noreturn_fake_exit_edges which obviously didn't help. connect_infinite_loops_to_exit does. Thx. -- rguenth at gcc dot gnu dot org changed: What|Removed

[Bug tree-optimization/33302] dead-store not eliminated

2007-09-05 Thread rakdver at gcc dot gnu dot org
--- Comment #5 from rakdver at gcc dot gnu dot org 2007-09-05 12:51 --- (In reply to comment #4) Ah, I only found add_noreturn_fake_exit_edges which obviously didn't help. connect_infinite_loops_to_exit does. Thx. dominance.c contains code (probably buggy) that adds such edges

[Bug tree-optimization/33302] dead-store not eliminated

2007-09-05 Thread rguenther at suse dot de
--- Comment #6 from rguenther at suse dot de 2007-09-05 14:17 --- Subject: Re: dead-store not eliminated On Wed, 5 Sep 2007, rakdver at gcc dot gnu dot org wrote: (In reply to comment #4) Ah, I only found add_noreturn_fake_exit_edges which obviously didn't help.

[Bug tree-optimization/33302] dead-store not eliminated

2007-09-05 Thread rakdver at kam dot mff dot cuni dot cz
--- Comment #7 from rakdver at kam dot mff dot cuni dot cz 2007-09-05 14:30 --- Subject: Re: dead-store not eliminated Ah, I only found add_noreturn_fake_exit_edges which obviously didn't help. connect_infinite_loops_to_exit does. Thx. dominance.c contains code (probably