This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: wide-int, gimple
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Mike Stump <mikestump at comcast dot net>, "gcc-patches at gcc dot gnu dot org Patches" <gcc-patches at gcc dot gnu dot org>, Kenneth Zadeck <zadeck at naturalbridge dot com>, Richard Sandiford <rdsandiford at googlemail dot com>
- Date: Tue, 26 Nov 2013 11:03:23 +0100
- Subject: Re: wide-int, gimple
- Authentication-results: sourceware.org; auth=none
- References: <6B2EE613-1012-4B93-82A4-B0DEC2639301 at comcast dot net> <CAFiYyc2qrG4hxgF4JO=Pm8PJC6kPHr=rbeVvHLDaKe+ue-UYdQ at mail dot gmail dot com> <20131125171859 dot GB892 at tucnak dot redhat dot com> <87iovg2ndj dot fsf at talisman dot default> <20131125214144 dot GE892 at tucnak dot redhat dot com> <87eh642low dot fsf at talisman dot default> <20131126084332 dot GF892 at tucnak dot redhat dot com>
On Tue, Nov 26, 2013 at 9:43 AM, Jakub Jelinek <jakub@redhat.com> wrote:
> On Mon, Nov 25, 2013 at 09:52:47PM +0000, Richard Sandiford wrote:
>> But my point is that at the moment we always have trees for the ranges
>> we want to record, so it seems simplest just to store those in the
>> structure. I was thinking of something like the attached (only just
>> started testing, no changelog yet).
>
> You have the tree at VRP time, that doesn't necessarily mean the tree is
> directly in the IL somewhere (with the right type). So, if you have very
> large function, you can have tons of constants there that aren't cached
> nor anywhere in the IL directly, so ggc_collect could normally throw them
> away, but if they are referenced from the SSA_NAME_RANGE_INFO, they can't
> be.
Btw, for the cases where I objected to using widest_int in structs that
reside on the heap (or in GC memory) you can just keep the old code
using double_int, no? Thus, leave the problem that 1) this is a host
dependence, 2) it blocks double-int from being removed, for fix/cleanup
after the merge?
That said, I'd prefer to keep range_info_def as-is (using double_int)
for the wide-int merge.
Likewise for the nb_iteration stuff in cfgloop.h.
Thanks,
Richard.
>
> Jakub