From 30864e1408a8663cf6f2b4c7cd07fce1fd13128f Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Sun, 9 Dec 2001 13:47:49 -0800 Subject: [PATCH] alpha.c (alpha_align_insns): Use align_functions, not FUNCTION_BOUNDARY. * config/alpha/alpha.c (alpha_align_insns): Use align_functions, not FUNCTION_BOUNDARY. * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New. * config/alpha/alpha32.h, config/alpha/vms.h: Likewise. * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove. From-SVN: r47819 --- gcc/ChangeLog | 8 ++++++++ gcc/config/alpha/alpha.c | 8 ++++++-- gcc/config/alpha/alpha.h | 7 +++++-- gcc/config/alpha/alpha32.h | 5 +++++ gcc/config/alpha/unicosmk.h | 6 ------ gcc/config/alpha/vms.h | 8 ++++++-- 6 files changed, 30 insertions(+), 12 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3f8f8711856..7381bd05f39 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2001-12-09 Richard Henderson + + * config/alpha/alpha.c (alpha_align_insns): Use align_functions, + not FUNCTION_BOUNDARY. + * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New. + * config/alpha/alpha32.h, config/alpha/vms.h: Likewise. + * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove. + 2001-12-09 Hans-Peter Nilsson * config/mmix/mmix.c (mmix_function_block_profiler, diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index e5451824741..a4ca0df7c6c 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -7570,8 +7570,12 @@ alpha_align_insns (insns, max_align, next_group, next_nop) /* Let shorten branches care for assigning alignments to code labels. */ shorten_branches (insns); - align = (FUNCTION_BOUNDARY / BITS_PER_UNIT < max_align - ? FUNCTION_BOUNDARY / BITS_PER_UNIT : max_align); + if (align_functions < 4) + align = 4; + else if (align_functions < max_align) + align = align_functions; + else + align = max_align; ofs = prev_in_use = 0; i = insns; diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h index 61e0756d40b..504fe8863da 100644 --- a/gcc/config/alpha/alpha.h +++ b/gcc/config/alpha/alpha.h @@ -1317,8 +1317,7 @@ extern struct alpha_compare alpha_compare; The trampoline should set the static chain pointer to value placed into the trampoline and should branch to the specified routine. Note that $27 has been set to the address of the trampoline, so we can - use it for addressability of the two data items. Trampolines are always - aligned to FUNCTION_BOUNDARY, which is 64 bits. */ + use it for addressability of the two data items. */ #define TRAMPOLINE_TEMPLATE(FILE) \ do { \ @@ -1338,6 +1337,10 @@ do { \ #define TRAMPOLINE_SIZE 32 +/* The alignment of a trampoline, in bits. */ + +#define TRAMPOLINE_ALIGNMENT 64 + /* Emit RTL insns to initialize the variable parts of a trampoline. FNADDR is an RTX for the address of the function's pure code. CXT is an RTX for the static chain value for the function. */ diff --git a/gcc/config/alpha/alpha32.h b/gcc/config/alpha/alpha32.h index 96f3ff47c13..8d9df0b8ebf 100644 --- a/gcc/config/alpha/alpha32.h +++ b/gcc/config/alpha/alpha32.h @@ -71,6 +71,11 @@ Boston, MA 02111-1307, USA. */ #undef TRAMPOLINE_SIZE #define TRAMPOLINE_SIZE 24 +/* The alignment of a trampoline, in bits. */ + +#undef TRAMPOLINE_ALIGNMENT +#define TRAMPOLINE_ALIGNMENT 32 + /* Emit RTL insns to initialize the variable parts of a trampoline. FNADDR is an RTX for the address of the function's pure code. CXT is an RTX for the static chain value for the function. */ diff --git a/gcc/config/alpha/unicosmk.h b/gcc/config/alpha/unicosmk.h index d0923e8abd0..21b719fdf2e 100644 --- a/gcc/config/alpha/unicosmk.h +++ b/gcc/config/alpha/unicosmk.h @@ -73,12 +73,6 @@ Boston, MA 02111-1307, USA. */ #undef STRUCTURE_SIZE_BOUNDARY #define STRUCTURE_SIZE_BOUNDARY 64 -/* Allocation boundary (in *bits*) for the code of a function. Functions - should be cache-aligned on the T3E. */ - -#undef FUNCTION_BOUNDARY -#define FUNCTION_BOUNDARY 256 - /* No data type wants to be aligned rounder than this. */ #undef BIGGEST_ALIGNMENT diff --git a/gcc/config/alpha/vms.h b/gcc/config/alpha/vms.h index f6388bc3d40..c46b94379ee 100644 --- a/gcc/config/alpha/vms.h +++ b/gcc/config/alpha/vms.h @@ -351,8 +351,7 @@ do { \ The trampoline should set the static chain pointer to value placed into the trampoline and should branch to the specified routine. Note that $27 has been set to the address of the trampoline, so we can - use it for addressability of the two data items. Trampolines are always - aligned to FUNCTION_BOUNDARY, which is 64 bits. */ + use it for addressability of the two data items. */ #undef TRAMPOLINE_TEMPLATE #define TRAMPOLINE_TEMPLATE(FILE) \ @@ -367,6 +366,11 @@ do { \ #undef TRAMPOLINE_SIZE #define TRAMPOLINE_SIZE 32 +/* The alignment of a trampoline, in bits. */ + +#undef TRAMPOLINE_ALIGNMENT +#define TRAMPOLINE_ALIGNMENT 64 + /* Emit RTL insns to initialize the variable parts of a trampoline. FNADDR is an RTX for the address of the function's pure code. CXT is an RTX for the static chain value for the function. */ -- 2.30.2