This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] [GCC] Don't use section anchors for declarations that don't fit in a single anchor range
On 17/08/16 09:23, Richard Biener wrote:
> On Tue, Aug 16, 2016 at 6:06 PM, Jeff Law <law@redhat.com> wrote:
>> On 08/16/2016 08:01 AM, Tamar Christina wrote:
>>>
>>>
>>> Hi All,
>>>
>>> This patch turns off the usage of section anchors for
>>> declarations that do not fit in a single anchor range.
>>> A large enough object will use the full anchor range
>>> and also force the use of another anchor pointer.
>>>
>>> By not using an anchor for large objects more globals
>>> can share the same anchor.
>>>
>>> The patch has been benchmarked using Spec2000 and
>>> the impact on performance is negligible, however some files
>>> using large arrays showed a appreciable reduction in amount of
>>> instructions in the assembly file.
>>>
>>> Regression tests were run on aarch64-none-elf and no regressions.
>>>
>>> Ok for trunk?
>>>
>>> 2016-08-16 Tamar Christina <tamar.christina@arm.com>
>>> Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
>>>
>>> * gcc/varasm.c
>>> (default_use_anchors_for_symbol_p): Reject too large decls.
>>
>> Do you have to worry about DECL_SIZE being non-constant here or are those
>> filtered out earlier?
>
> Globals can't have variable size.
>
And Common variables (which may change size at link time) can't go in
anchor groups. Nor, for that matter, can anything that's preemtible at
link time.
R.
> Richard.
>
>> jeff
>