PRE lossage

Daniel Berlin dberlin@dberlin.org
Wed Oct 29 01:48:00 GMT 2003


On Oct 28, 2003, at 2:29 PM, Andrew MacLeod wrote:

> On Tue, 2003-10-28 at 14:25, Daniel Berlin wrote:
>>
>> On Oct 28, 2003, at 2:17 PM, law@redhat.com wrote:
>>
>>> In message <64E3BF94-097A-11D8-A9DD-000A95AF1FAE@dberlin.org>, Daniel
>>> Berlin wr
>>> ites:
>>>> I've been putting off these bugs until switch lowering happens, 
>>>> since
>>>> that should allow us to pre-split the critical edges without any
>>>> trouble, and once that happens, insertion shouldn't require creating
>>>> new blocks, ever, and the whole problem goes away.
>>> I would be very wary of pre-splitting critical edges.  In my
>>> experience, it
>>> loses, badly.
>>
>> Except that every compiler i know of does it (LLVM does it, Open64 
>> does
>> it, Intel's compiler does it, etc), and the papers for SSAPRE assume 
>> it
>> specifically.
>> We also have to recompute a whole bunch of info if we split a critical
>> edge (dominators, dominance frontiers, etc), and can't run ESSA
>> minimization.
>
> It doesnt really change that information very much does it?

No, it's more having to resize the arrays and whatnot and fill in the 
new info.


> It should
> be easily updatable when the split happens...  (dominator, etc by the
> splitting routine)

It should, but i think only dominators has an interface to do 
incremental updates.

> Andrew
>
>



More information about the Gcc mailing list