This is the mail archive of the
mailing list for the GCC project.
Re: [patch, mips, tree] align microMIPS functions to 16 bits with -Os
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: Sandra Loosemore <sandra at codesourcery dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 28 May 2014 20:09:46 +0100
- Subject: Re: [patch, mips, tree] align microMIPS functions to 16 bits with -Os
- Authentication-results: sourceware.org; auth=none
- References: <537A5DA9 dot 9010905 at codesourcery dot com> <53860B78 dot 6050307 at codesourcery dot com>
Sandra Loosemore <email@example.com> writes:
> On 05/19/2014 01:38 PM, Sandra Loosemore wrote:
>> 2014-05-19 Iain Sandoe <firstname.lastname@example.org>
>> Catherine Moore <email@example.com>
>> Sandra Loosemore <firstname.lastname@example.org>
>> * config/mips/mips.c (mips_set_current_function): Choose
>> function alignment once the current mode is known.
>> * gcc.target/mips/umips-align-1.c: New.
>> * gcc.target/mips/umips-align-2.c: New.
>> * gcc.target/mips/umips-align-3.c: New.
>> * gcc.target/mips/mips.exp: Add interlink-compressed to
>> -mfoo/-mno-foo options.
FAOD, I wasn't commenting because I still think it's the wrong place but
still don't have a specific counter-suggestion. mips_set_current_function
is potentially called many times for the same function but setting the
alignment seems like something that should only happen once. I think it
could potentially mean that alignment tests against the function address
could be optimised away based on the FUNCTION_BOUNDARY before
mips_set_current_function is called.
As a strawman, maybe adding a new target hook to cgraph_create_node
would work? Hopefully that'll prompt someone to say how stupid that
idea is and say what the right way of doing it would be.