------- Comment #47 from rguenth at gcc dot gnu dot org 2008-01-11 13:29 ------- Most of the PRE/FRE memory is spent in copied VOPs VECs. Unfortunately we cannot move them to heap memory easily as the get shared in the PRE tables... I tried to be explicit in managing the memory, but it gets really hard (which is probably the reason we stick it in GC memory in the first place).
So we could use two variants of all routines, one using GC allocated VECs and one using heap allocated VECs and use the GC allocated one only for the final SCC iteration and the PRE tables. Smells like a task for C++ templates or a really ugly hack in C. Obviously this is not going to happen for 4.3 :/ -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34683