> 
> The following avoids GC collecting during pass execution when a pass
> calls cgraph::get_body.
> 
> Bootstrapped / tested on x86_64-unknown-linux-gnu.
> 
> OK?
> 
> Thanks,
> Richard.
> 
> 2019-07-03  Richard Biener  <rguent...@suse.de>
> 
>       PR ipa/91062
>       * tree-pass.h (execute_all_ipa_transforms): Add a flag
>       parameter whether to disable GC collection.
>       * passes.c (execute_one_ipa_transform_pass): Likewise, and
>       honor it.
>       (execute_all_ipa_transforms): Likewise and pass it down.
>       * cgraph.c (cgraph_node::get_body): Do not invoke garbage
>       collection from applying IPA transforms.
>       * cgraphunit.c (cgraph_node::expand): Allow garbage collection
>       from applying IPA transforms.

OK, thanks!
I am not sure how much the garbage collectin between individual
transforms is necessary - i suspect the ggc_collect call there is just
result of copying code executing normal passes, but it is fine to
disable it selectively for sure.

Honza

Reply via email to