[tree-ssa] [PATCH]: Loop invariant code motion for trees

Daniel Berlin dberlin@dberlin.org
Mon Aug 25 19:50:00 GMT 2003


On Monday, August 25, 2003, at 3:18 PM, Andrew MacLeod wrote:

> On Mon, 2003-08-25 at 15:10, Daniel Berlin wrote:
>>
>> On Monday, August 25, 2003, at 2:50 PM, Andrew MacLeod wrote:
>>
>>
>>>
>>> As a guess, Did you hoist it across an abnormal edge?
>>> or at least make it now live across an abnormal edge?  That'll do it
>>> :-)
>>
>> Possibly
>> :)
>> How can i tell given only the bb it's in, and the bb's it's going to 
>> be
>> moved to?
>>>
>>
>
> Interesting question :-)
>
> If there is an abnormal edge on the path from 'going to' to 'in', its a
> hazardous thing to do.  I don't suppose we're lucky and your variable
> has the SSA_NAME_OCCURS_IN_ABNORMAL_PHI flag set?

Nope.
Luckily, the pre-header edges are stored in the loop structure, so we 
can just check their flags.


>  If it does, I'd
> suggest not hoisting those. We can't copy propagate them either yet...
>

> Andrew
>



More information about the Gcc-patches mailing list