aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-12-09 13:47:49 -0800
committerRichard Henderson <rth@gcc.gnu.org>2001-12-09 13:47:49 -0800
commit30864e1408a8663cf6f2b4c7cd07fce1fd13128f (patch)
tree1562e6e43a90679c53aae5cc66c6d7d074549a47 /gcc
parente41710661ceadb59dde0004bce0d609be8049370 (diff)
downloadgcc-30864e1408a8663cf6f2b4c7cd07fce1fd13128f.zip
gcc-30864e1408a8663cf6f2b4c7cd07fce1fd13128f.tar.gz
gcc-30864e1408a8663cf6f2b4c7cd07fce1fd13128f.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/alpha/alpha.c8
-rw-r--r--gcc/config/alpha/alpha.h7
-rw-r--r--gcc/config/alpha/alpha32.h5
-rw-r--r--gcc/config/alpha/unicosmk.h6
-rw-r--r--gcc/config/alpha/vms.h8
6 files changed, 30 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3f8f871..7381bd0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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,
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index e545182..a4ca0df 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 61e0756..504fe88 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 96f3ff4..8d9df0b 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 d0923e8..21b719f 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 f6388bc..c46b943 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. */