summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2001-06-10 23:15:03 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2001-06-10 23:15:03 +0000
commit0ea5169b00c142f18526e5cb4d4509e9d946e6ac (patch)
treecc9059065f46d9a289d4eb880aed73e29402805d
parent3c27c2b244446c2bcf4f723a8aaac7d8b5450515 (diff)
downloadgcc-0ea5169b00c142f18526e5cb4d4509e9d946e6ac.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43160 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/alpha/alpha.c13
-rw-r--r--gcc/config/alpha/alpha.h18
3 files changed, 21 insertions, 17 deletions
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 <rth@redhat.com>
+
+ * 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 <m.hayes@elec.canterbury.ac.nz>
* 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