alpha.c (alpha_align_insns): Use align_functions, not FUNCTION_BOUNDARY.
authorRichard Henderson <rth@redhat.com>
Sun, 9 Dec 2001 21:47:49 +0000 (13:47 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Sun, 9 Dec 2001 21:47:49 +0000 (13:47 -0800)
        * 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
gcc/config/alpha/alpha.c
gcc/config/alpha/alpha.h
gcc/config/alpha/alpha32.h
gcc/config/alpha/unicosmk.h
gcc/config/alpha/vms.h

index 3f8f871185651c6f069cacb8b74fa53ad7a1ca62..7381bd05f39eb7f968921ce73544dde878acdc0a 100644 (file)
@@ -1,3 +1,11 @@
+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>
 
        * config/mmix/mmix.c (mmix_function_block_profiler,
index e545182474150cce7067a55902f11f12d340f754..a4ca0df7c6c0f70d99f7c3e26d9bc41a6be4b929 100644 (file)
@@ -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;
index 61e0756d40baf81e85459d3da7e0a7a3f46ffad4..504fe8863da105e805737ccad27b45ef4d2cfc20 100644 (file)
@@ -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.  */
index 96f3ff47c13d98e8c2c6926aa52024e54d13483c..8d9df0b8ebf9e4eff59a0babf326e18007051d06 100644 (file)
@@ -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.  */
index d0923e8abd0080e97bad29f0d514fa89fd431bfb..21b719fdf2e378b5cf1c08b6ddd43e9a38c205a7 100644 (file)
@@ -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
index f6388bc3d40d2a52de11c3e91ffe0df597e27b56..c46b94379ee689979d8cee949ad8aef0765ff089 100644 (file)
@@ -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.  */