This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: SSA range class and removal of VR_ANTI_RANGEs
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Aldy Hernandez <aldyh at redhat dot com>
- Cc: Richard Biener <richard dot guenther at gmail dot com>, Andrew MacLeod <amacleod at redhat dot com>, richard dot sandiford at linaro dot org, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 31 May 2017 17:10:04 +0200
- Subject: Re: SSA range class and removal of VR_ANTI_RANGEs
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx02.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx02.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=jakub at redhat dot com
- Dkim-filter: OpenDKIM Filter v2.11.0 mx1.redhat.com EE2C880C21
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com EE2C880C21
- References: <dbad7708-d495-402c-c9d8-626a9c8202b9@redhat.com> <20170523121117.GU8499@tucnak> <9f117edb-2825-cc62-5226-e34c7c5a5bb4@redhat.com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Wed, May 31, 2017 at 10:20:51AM -0400, Aldy Hernandez wrote:
> The biggest number of SSA_NAMEs I saw was actually 472,225. Of these,
> 357,032 were non-pointers, so could conceivably have range information. In
> reality, 77,398 had range information, so 16% of all pointer and non-pointer
> SSA_NAMEs actually have range information.
I've tried to look just at insn-recog.c with the usual stage3 flags +
-fsanitize=address,undefined and I see there
ssa_name_nodes_created
4092344
(of course, that doesn't mean there are 4M SSA_NAMEs all live at the same
time, but I think they don't go through ggc_free and thus the only way that
number goes down is during GC. There are both 72 and 80 bytes alloc pools,
even a 32MB increase is something we shouldn't ignore.
Furthermore, as e.g. PR80917 shows, we really should track nonzero bits next
to value ranges, the current tracking of it only in tree-ssa-ccp which
doesn't have ASSERT_EXPRs nor any kind of framework to do something similar
without them is insufficient.
Jakub