This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]