From: Richard Henderson Date: Sun, 10 Jun 2001 23:15:03 +0000 (-0700) Subject: alpha.c (override_options): Set align_loops, align_jumps, and align_functions. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c176c051f8bb813df3b38df37248b052604d747a;p=gcc.git alpha.c (override_options): Set align_loops, align_jumps, and align_functions. * config/alpha/alpha.c (override_options): Set align_loops, align_jumps, and align_functions. * config/alpha/alpha.h (FUNCTION_BOUNDARY): Set to 32 bits. (LOOP_ALIGN, LABEL_ALIGN_AFTER_BARRIER): Remove. From-SVN: r43160 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 60c9eabcb12..92a8915da2e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2001-06-10 Richard Henderson + + * config/alpha/alpha.c (override_options): Set align_loops, + align_jumps, and align_functions. + * config/alpha/alpha.h (FUNCTION_BOUNDARY): Set to 32 bits. + (LOOP_ALIGN, LABEL_ALIGN_AFTER_BARRIER): Remove. + 2001-06-11 Michael Hayes * emit-rtl.c (gen_lowpart_common): Do not assume that SFmode and DFmode diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 0bf04cd1052..f9dc0463f35 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -342,6 +342,19 @@ override_options () if (!g_switch_set) g_switch_value = 8; + /* Align labels and loops for optimal branching. */ + /* ??? Kludge these by not doing anything if we don't optimize and also if + we are writing ECOFF symbols to work around a bug in DEC's assembler. */ + if (optimize > 0 && write_symbols != SDB_DEBUG) + { + if (align_loops <= 0) + align_loops = 16; + if (align_jumps <= 0) + align_jumps = 16; + } + if (align_functions <= 0) + align_functions = 16; + /* Acquire a unique set number for our register saves and restores. */ alpha_sr_alias_set = new_alias_set (); diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h index c0b96e0bca7..badeaffc326 100644 --- a/gcc/config/alpha/alpha.h +++ b/gcc/config/alpha/alpha.h @@ -477,7 +477,7 @@ extern const char *alpha_mlat_string; /* For -mmemory-latency= */ #define STACK_BOUNDARY 64 /* Allocation boundary (in *bits*) for the code of a function. */ -#define FUNCTION_BOUNDARY 128 +#define FUNCTION_BOUNDARY 32 /* Alignment of field after `int : 0' in a structure. */ #define EMPTY_FIELD_BOUNDARY 64 @@ -488,22 +488,6 @@ extern const char *alpha_mlat_string; /* For -mmemory-latency= */ /* A bitfield declared as `int' forces `int' alignment for the struct. */ #define PCC_BITFIELD_TYPE_MATTERS 1 -/* Align loop starts for optimal branching. - - ??? Kludge this and the next macro for the moment by not doing anything if - we don't optimize and also if we are writing ECOFF symbols to work around - a bug in DEC's assembler. */ - -#define LOOP_ALIGN(LABEL) \ - (optimize > 0 && write_symbols != SDB_DEBUG ? 4 : 0) - -/* This is how to align an instruction for optimal branching. On - Alpha we'll get better performance by aligning on an octaword - boundary. */ - -#define LABEL_ALIGN_AFTER_BARRIER(FILE) \ - (optimize > 0 && write_symbols != SDB_DEBUG ? 4 : 0) - /* No data type wants to be aligned rounder than this. */ #define BIGGEST_ALIGNMENT 128