This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PR 79108] Put ipa_node_params to GC memory
- From: Martin Jambor <mjambor at suse dot cz>
- To: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Jan Hubicka <jh at suse dot cz>
- Date: Tue, 24 Jan 2017 11:06:58 +0100
- Subject: Re: [PR 79108] Put ipa_node_params to GC memory
- Authentication-results: sourceware.org; auth=none
- References: <20170120215807.yh7acd36yq4qd4ur@virgil.suse.cz> <yddk29lsa9c.fsf@CeBiTec.Uni-Bielefeld.DE>
Hi,
On Mon, Jan 23, 2017 at 11:05:03PM +0100, Rainer Orth wrote:
> Hi Martin,
>
> > when I fixed PR 78365 by streaming types of parameters that might not
> > have been anywhere else, I forgot that I was holding them in non-GC
> > memory and so I caused PR 79108. The following patch fixes it by
> > putting ipa_param_descriptor and ipa_node_params structures into GC
> > memory, together with summary holding class ipa_node_params_t which is
> > now a GC root. In the process, I have turned the destructor of the
> > latter into a remove and insert hooks of the summary holder.
> >
> > Bootstrapped and tested on x86_64-linux, also LTO-bootstrapped and
> > tested, although with only C,C++ and Fortran and with sanitizers and
> > multilib disabled. (It is now a part of an undergoing LTO bootstrap
> > with everything). OK for trunk?
>
> this broke bootstrap on i386-pc-solaris2.12, sparc-sun-solaris2.12, and
> i686-pc-linux-gnu (probably every 32-bit host), as confirmed by an
> i386-pc-solaris2.10 reghunt.
>
> E.g. in the Linux/i686 bootstrap, compiling tree-ssa-math-opts.o fails
> with
>
> virtual memory exhausted: Cannot allocate memory
>
> In the Solaris cases, various libstdc++ source files fail to compile in
> the same way.
>
> Rainer
>
This is most likely PR 79198 for which I have just committed a fix.
Please let me know if any issues persist.
Thanks,
Martin