[gc-improv] Copy current trunk to branch
Laurynas Biveinis
laurynas.biveinis@gmail.com
Thu Jan 20 10:15:00 GMT 2011
2011/1/20 Paolo Bonzini <bonzini@gnu.org>:
>> - Move RTL back to obstacks: global, per-function, scratch, maybe a
>> few per-pass obstacks too. My work so far is based on Bernd Schmidt's
>> patch [1]. Also this will enable quite a few cleanups: in gengtype,
>> removal a lot of GTY markers in backends that only serve PCH.
>
> Maybe we can find something better than obstacks? There are two possible
> benefits of obstacks: space locality (i.e. hope that parts of an rtx are in
> the same cache line) and easily defined lifetimes.
I agree.
> If we use a different interface than obstacks for RTL allocation, we can try
> to separate the two. For example, the primitives could be:
>
> (1) start allocating global
[...]
> (7) move scratch to per-function
> With obstacks, (7) is not easily implemented. The fwprop.c changes in
> Bernd's patch that emulate it, for example, are quite hard to follow and not
> very idiomatic. A different interface could support it and at the same time
> allow us to try different backends: some examples are [...]
I agree that defining such allocation interface is a good idea. I also
think that with obstacks (1)-(6) abstract very easily and (7) is
doable. So I will introduce an abstraction layer here.
--
Laurynas
More information about the Gcc-patches
mailing list