Commit 30864e14 by Richard Henderson Committed by Richard Henderson

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
parent e4171066
2001-12-09 Richard Henderson <rth@redhat.com>
* 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 <hp@bitrange.com> 2001-12-09 Hans-Peter Nilsson <hp@bitrange.com>
* config/mmix/mmix.c (mmix_function_block_profiler, * config/mmix/mmix.c (mmix_function_block_profiler,
......
...@@ -7570,8 +7570,12 @@ alpha_align_insns (insns, max_align, next_group, next_nop) ...@@ -7570,8 +7570,12 @@ alpha_align_insns (insns, max_align, next_group, next_nop)
/* Let shorten branches care for assigning alignments to code labels. */ /* Let shorten branches care for assigning alignments to code labels. */
shorten_branches (insns); shorten_branches (insns);
align = (FUNCTION_BOUNDARY / BITS_PER_UNIT < max_align if (align_functions < 4)
? FUNCTION_BOUNDARY / BITS_PER_UNIT : max_align); align = 4;
else if (align_functions < max_align)
align = align_functions;
else
align = max_align;
ofs = prev_in_use = 0; ofs = prev_in_use = 0;
i = insns; i = insns;
......
...@@ -1317,8 +1317,7 @@ extern struct alpha_compare alpha_compare; ...@@ -1317,8 +1317,7 @@ extern struct alpha_compare alpha_compare;
The trampoline should set the static chain pointer to value placed The trampoline should set the static chain pointer to value placed
into the trampoline and should branch to the specified routine. 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 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 use it for addressability of the two data items. */
aligned to FUNCTION_BOUNDARY, which is 64 bits. */
#define TRAMPOLINE_TEMPLATE(FILE) \ #define TRAMPOLINE_TEMPLATE(FILE) \
do { \ do { \
...@@ -1338,6 +1337,10 @@ do { \ ...@@ -1338,6 +1337,10 @@ do { \
#define TRAMPOLINE_SIZE 32 #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. /* Emit RTL insns to initialize the variable parts of a trampoline.
FNADDR is an RTX for the address of the function's pure code. 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. */ CXT is an RTX for the static chain value for the function. */
......
...@@ -71,6 +71,11 @@ Boston, MA 02111-1307, USA. */ ...@@ -71,6 +71,11 @@ Boston, MA 02111-1307, USA. */
#undef TRAMPOLINE_SIZE #undef TRAMPOLINE_SIZE
#define TRAMPOLINE_SIZE 24 #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. /* Emit RTL insns to initialize the variable parts of a trampoline.
FNADDR is an RTX for the address of the function's pure code. 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. */ CXT is an RTX for the static chain value for the function. */
......
...@@ -73,12 +73,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -73,12 +73,6 @@ Boston, MA 02111-1307, USA. */
#undef STRUCTURE_SIZE_BOUNDARY #undef STRUCTURE_SIZE_BOUNDARY
#define STRUCTURE_SIZE_BOUNDARY 64 #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. */ /* No data type wants to be aligned rounder than this. */
#undef BIGGEST_ALIGNMENT #undef BIGGEST_ALIGNMENT
......
...@@ -351,8 +351,7 @@ do { \ ...@@ -351,8 +351,7 @@ do { \
The trampoline should set the static chain pointer to value placed The trampoline should set the static chain pointer to value placed
into the trampoline and should branch to the specified routine. 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 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 use it for addressability of the two data items. */
aligned to FUNCTION_BOUNDARY, which is 64 bits. */
#undef TRAMPOLINE_TEMPLATE #undef TRAMPOLINE_TEMPLATE
#define TRAMPOLINE_TEMPLATE(FILE) \ #define TRAMPOLINE_TEMPLATE(FILE) \
...@@ -367,6 +366,11 @@ do { \ ...@@ -367,6 +366,11 @@ do { \
#undef TRAMPOLINE_SIZE #undef TRAMPOLINE_SIZE
#define TRAMPOLINE_SIZE 32 #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. /* Emit RTL insns to initialize the variable parts of a trampoline.
FNADDR is an RTX for the address of the function's pure code. 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. */ CXT is an RTX for the static chain value for the function. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment