diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-22 08:31:44 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-08-22 08:31:44 +0000 |
commit | feb8ef57dbef254d81a683ad764ef7253e296164 (patch) | |
tree | a01c3fec4756997f1c5a4fa55e4010e535f98cb9 /gcc/final.c | |
parent | 811aa2572b2d35ad8306d5ae6583de81b1d4827d (diff) | |
download | gcc-feb8ef57dbef254d81a683ad764ef7253e296164.tar.gz |
* final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
(final_scan_insn): Consider jump tables data even if we have no
independant text section if !JUMP_TABLES_IN_TEXT_SECTION. Use
ADDR_VEC_ALIGN.
* config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
(ASM_OUTPUT_CASE_END): Remove.
(ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
* config/ia64/ia64.md (tablejump): Decode pc-relative references.
* config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45103 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/final.c')
-rw-r--r-- | gcc/final.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/gcc/final.c b/gcc/final.c index a07a568fc5e..ca38b96f639 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -785,7 +785,7 @@ get_attr_length (insn) #endif #ifndef LABEL_ALIGN_AFTER_BARRIER -#define LABEL_ALIGN_AFTER_BARRIER(LABEL) 1 +#define LABEL_ALIGN_AFTER_BARRIER(LABEL) 0 #endif #ifndef LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP @@ -2338,12 +2338,16 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes) #else if (! JUMP_TABLES_IN_TEXT_SECTION) { + int log_align; + readonly_data_section (); -#ifdef READONLY_DATA_SECTION - ASM_OUTPUT_ALIGN (file, - exact_log2 (BIGGEST_ALIGNMENT - / BITS_PER_UNIT)); -#endif /* READONLY_DATA_SECTION */ + +#ifdef ADDR_VEC_ALIGN + log_align = ADDR_VEC_ALIGN (nextbody); +#else + log_align = exact_log2 (BIGGEST_ALIGNMENT / BITS_PER_UNIT); +#endif + ASM_OUTPUT_ALIGN (file, log_align); } else function_section (current_function_decl); |