[PATCH] Fix PR91062

Jan Hubicka hubicka@ucw.cz
Thu Jul 4 12:19:00 GMT 2019


> 
> 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  <rguenther@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



More information about the Gcc-patches mailing list