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: law at redhat dot com
- To: Andrew MacLeod <amacleod 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>, Jan Hubicka <jh at suse dot cz>, gcc mailing list <gcc at gcc dot gnu dot org>
- Date: Tue, 04 Nov 2003 14:17:58 -0700
- Subject: Re: [tree-ssa] New regressions as of 2003-11-04
- Reply-to: law at redhat dot com
In message <1067979853.7039.50.camel@p4>, Andrew MacLeod writes:
>On Tue, 2003-11-04 at 15:51, law@redhat.com wrote:
>> In message <1067956749.23315.3.camel@frodo.toronto.redhat.com>, Diego Novil
>lo 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()?
You can't thread those jumps because the the target has a PHI node. If
you threaded them you'd generate something like
# block 2
if (set != -1)
{
goto lab;
}
else
{
goto lab;
}
lab:
set_1 = PHI (-1 (2), 0 (2))
Which causes all kinds of headaches :(
jeff
Jeff