This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Fix PR91062
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Richard Biener <rguenther at suse dot de>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 4 Jul 2019 14:14:13 +0200
- Subject: Re: [PATCH] Fix PR91062
- References: <alpine.LSU.firstname.lastname@example.org>
> The following avoids GC collecting during pass execution when a pass
> calls cgraph::get_body.
> Bootstrapped / tested on x86_64-unknown-linux-gnu.
> 2019-07-03 Richard Biener <email@example.com>
> 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.
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.