This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] PR opt/6627: New target macro MINIMUM_FUNCTION_BOUNDARY


On Sun, Sep 29, 2002 at 01:51:34PM -0600, Roger Sayle wrote:
> The only difficulty is that the code in varasm.c currently
> views user alignment as a hint, and only guarantees atleast
> FUNCTION_BOUNDARY alignment.  See the code in assemble_start_function
> that mentions ASM_OUTPUT_MAX_SKIP_ALIGN might not do anything and
> the cfun->function_frequency != FUNCTION_FREQUENCY_UNLIKELY_EXECUTED
> My patch guaranteed FUNCTION_BOUNDARY alignment in align_functions
> was >= FUNCTION_BOUNDARY, and MINIMUM_FUNCTION_BOUNDARY alignment
> otherwise.

Hum.  Dunno.  I'd have said that MAX_SKIP_ALIGN was a useful
thing here, but not as we're using it here (hint: (1<<align)-1 is
always the maximum space to be added).  In your cleanup you
can remove it.

As for FUNCTION_FREQUENCY_UNLIKELY_EXECUTED...  I guess that's
a good thing to be minding.o

So I think we want separate variables here.  One that might be
ignored, and one that shouldn't be.  force_align_functions?

> Ok, 16 byte alignment makes sense for IA-64.  How about i960?

i960 is a regular risc target with a 32-bit instruction size.


r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]