This is the mail archive of the gcc@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]

Re: [tree-ssa] New regressions as of 2003-11-04


On Tue, 2003-11-04 at 15:51, law@redhat.com wrote:
> In message <1067956749.23315.3.camel@frodo.toronto.redhat.com>, Diego Novillo w
> rites:

> That in turn allows the final dominator optimizer to propagate things
> a little further and after removing dead code we have:
> 
>   # block 2.  pred: 0.  succ: 4 3.
>   <U44fc>:;;
>   if (set_2 != -1)
>     {
>       goto <U4658>;
>     }
>   else
>     {
>       goto <U89f8>;
>     };
> 
>   # block 4.  pred: 2.  succ: 3.
>   <U89f8>:;;
>   (void)0;
>   goto <U4658>;;
>   (void)0;
> 
>   # block 3.  pred: 2 4.  succ: -2.
>   #   set_1 = PHI <-1(4), 0(2)>;
>   <U4658>:;;
>   return set_1;;
> }
> 

Aren't we doing any threading during cleanup_tree_cfg()?

If the cleanup_tree_cfg() call after DCE threaded the else branch of the
COND_EXPR to be:

if (set_2 != -1)
    {
      goto <U4570>;
    }
  else
    {
      goto <U4658>;
    };

Then SSA->Normal would insert the set = -1 on the else branch, and
remove_useless_stmts_and_vars_cond would get it right, wouldn't it?

Andrew



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