This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/33302] dead-store not eliminated
- From: "rakdver at kam dot mff dot cuni dot cz" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 5 Sep 2007 14:30:45 -0000
- Subject: [Bug tree-optimization/33302] dead-store not eliminated
- References: <bug-33302-8535@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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 buggy) that adds such edges implicitly, so
> > this should not be needed.
>
> Maybe, but then domwalk.c is buggy as walk_dominator_tree does
>
> while (true)
> {
> /* Don't worry about unreachable blocks. */
> if (EDGE_COUNT (bb->preds) > 0 || bb == ENTRY_BLOCK_PTR)
> {
>
> and obviously in my case bb (the exit block) has no preds. Maybe
> simply special-casing EXIT_BLOCK_PTR as well helps.
Yes, that seems reasonable (I think domwalk was originally only used
for dominator tree walks, so it may contain this kind of bugs for
post-dominator walks)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33302