On 12/10/13 23:35, Bin.Cheng wrote:

I know little about GC, so when ggc_collect may be called (between two
passes)? If so, I have to call free_affine_expand_cache just after the
calling to tree_to_affine_combination_expand in SCEV because it's an
analyzer and as you pointed out, the analyzing result is used by
different optimizers.  The pointer map would be maintained between
different passes if it's not instantly freed.
The garbage collector only runs between passes. If you have roots in static storage, then you'll need to decorate them so the garbage collector scans them.

There's a fairly extensive discussion of the garbage collector in the GCC internals manual.


jeff

Reply via email to