This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] New regressions as of 2003-11-04
- From: Andrew MacLeod <amacleod at redhat dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: Diego Novillo <dnovillo at redhat dot com>, Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>, Daniel Berlin <dberlin at dberlin dot org>, JanHubicka <jh at suse dot cz>, gcc mailing list <gcc at gcc dot gnu dot org>
- Date: 04 Nov 2003 16:04:09 -0500
- Subject: Re: [tree-ssa] New regressions as of 2003-11-04
- References: <200311042051.hA4KpfNw017019@speedy.slc.redhat.com>
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