diff options
author | aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-07-28 02:17:26 +0000 |
---|---|---|
committer | aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-07-28 02:17:26 +0000 |
commit | 47fc0706efc3899bb63c2fa9a1e36fc77d988a8d (patch) | |
tree | ef8a8d9eb4fda8faa814cb484ce4a1e01ef25372 /gcc/config/pa | |
parent | bc7af38963b4b5186f45a61993821982bcd83134 (diff) | |
download | gcc-47fc0706efc3899bb63c2fa9a1e36fc77d988a8d.tar.gz |
* Makefile.in (INSN_ATTR_H): New macro. Replace all dependencies
on insn-attr.h with it.
* genattr.c: Generate `#include "insn-addr.h"' if HAVE_ATTR_length.
* insn-addr.h: New header.
(insn_addresses_): Renamed from insn_addresses.
(INSN_ADDRESSES_DEFN, INSN_ADDRESSES, INSN_ADDRESSES_ALLOC,
INSN_ADDRESSES_FREE, INSN_ADDRESSES_SET_P, INSN_ADDRESSES_SIZE,
INSN_ADDRESSES_NEW): New macros.
* genattrtab.c (write_test_expr): Use new macros.
* final.c (insn_addresses, init_insn_lengths): Likewise.
(align_fuzz, shorten_branches): Likewise.
(final): Likewise. Do not reject new insns if their addresses
have been added to INSN_ADDRESSES.
* config/arm/arm.c, config/avr/avr.c: Use new macros.
* config/h8300/h8300.c, config/i370/i370.c: Likewise.
* config/m88k/m88k.c, config/pa/pa.c, config/pa/pa.md: Likewise.
* config/sparc/sparc.c, config/sparc/sparc.md: Likewise.
* config/sh/sh.c: Likewise.
(output_branchy_insn): Use INSN_ADDRESSES_NEW.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35307 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/pa')
-rw-r--r-- | gcc/config/pa/pa.c | 42 | ||||
-rw-r--r-- | gcc/config/pa/pa.md | 6 |
2 files changed, 24 insertions, 24 deletions
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 88be9b414b9..8cdd43e115d 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -2910,11 +2910,11 @@ output_function_prologue (file, size) we don't need to accumulate the total number of code bytes. */ if (TARGET_GAS && ! TARGET_PORTABLE_RUNTIME) total_code_bytes = 0; - else if (insn_addresses) + else if (INSN_ADDRESSES_SET_P ()) { unsigned int old_total = total_code_bytes; - total_code_bytes += insn_addresses[INSN_UID (get_last_insn())]; + total_code_bytes += INSN_ADDRESSES (INSN_UID (get_last_insn())); total_code_bytes += FUNCTION_BOUNDARY / BITS_PER_UNIT; /* Be prepared to handle overflows. */ @@ -4887,9 +4887,9 @@ output_cbranch (operands, nullify, length, negated, insn) taken and untaken branches. */ else if (dbr_sequence_length () == 0 && ! forward_branch_p (insn) - && insn_addresses - && VAL_14_BITS_P (insn_addresses[INSN_UID (JUMP_LABEL (insn))] - - insn_addresses[INSN_UID (insn)] - 8)) + && INSN_ADDRESSES_SET_P () + && VAL_14_BITS_P (INSN_ADDRESSES (INSN_UID (JUMP_LABEL (insn))) + - INSN_ADDRESSES (INSN_UID (insn)) - 8)) { strcpy (buf, "{com%I2b,|cmp%I2b,}"); if (GET_MODE (operands[1]) == DImode) @@ -5104,9 +5104,9 @@ output_bb (operands, nullify, length, negated, insn, which) taken and untaken branches. */ else if (dbr_sequence_length () == 0 && ! forward_branch_p (insn) - && insn_addresses - && VAL_14_BITS_P (insn_addresses[INSN_UID (JUMP_LABEL (insn))] - - insn_addresses[INSN_UID (insn)] - 8)) + && INSN_ADDRESSES_SET_P () + && VAL_14_BITS_P (INSN_ADDRESSES (INSN_UID (JUMP_LABEL (insn))) + - INSN_ADDRESSES (INSN_UID (insn)) - 8)) { strcpy (buf, "bb,"); if (GET_MODE (operands[0]) == DImode) @@ -5252,9 +5252,9 @@ output_bvb (operands, nullify, length, negated, insn, which) taken and untaken branches. */ else if (dbr_sequence_length () == 0 && ! forward_branch_p (insn) - && insn_addresses - && VAL_14_BITS_P (insn_addresses[INSN_UID (JUMP_LABEL (insn))] - - insn_addresses[INSN_UID (insn)] - 8)) + && INSN_ADDRESSES_SET_P () + && VAL_14_BITS_P (INSN_ADDRESSES (INSN_UID (JUMP_LABEL (insn))) + - INSN_ADDRESSES (INSN_UID (insn)) - 8)) { strcpy (buf, "{bvb,|bb,}"); if (GET_MODE (operands[0]) == DImode) @@ -5361,9 +5361,9 @@ output_dbra (operands, insn, which_alternative) taken and untaken branches. */ else if (dbr_sequence_length () == 0 && ! forward_branch_p (insn) - && insn_addresses - && VAL_14_BITS_P (insn_addresses[INSN_UID (JUMP_LABEL (insn))] - - insn_addresses[INSN_UID (insn)] - 8)) + && INSN_ADDRESSES_SET_P () + && VAL_14_BITS_P (INSN_ADDRESSES (INSN_UID (JUMP_LABEL (insn))) + - INSN_ADDRESSES (INSN_UID (insn)) - 8)) return "addib,%C2 %1,%0,%3%#"; /* Handle normal cases. */ @@ -5469,9 +5469,9 @@ output_movb (operands, insn, which_alternative, reverse_comparison) taken and untaken branches. */ else if (dbr_sequence_length () == 0 && ! forward_branch_p (insn) - && insn_addresses - && VAL_14_BITS_P (insn_addresses[INSN_UID (JUMP_LABEL (insn))] - - insn_addresses[INSN_UID (insn)] - 8)) + && INSN_ADDRESSES_SET_P () + && VAL_14_BITS_P (INSN_ADDRESSES (INSN_UID (JUMP_LABEL (insn))) + - INSN_ADDRESSES (INSN_UID (insn)) - 8)) return "movb,%C2 %1,%0,%3%#"; /* Handle normal cases. */ if (nullify) @@ -5644,8 +5644,8 @@ output_millicode_call (insn, call_dest) /* Use the containing sequence insn's address. */ seq_insn = NEXT_INSN (PREV_INSN (XVECEXP (final_sequence, 0, 0))); - distance = insn_addresses[INSN_UID (JUMP_LABEL (NEXT_INSN (insn)))] - - insn_addresses[INSN_UID (seq_insn)] - 8; + distance = INSN_ADDRESSES (INSN_UID (JUMP_LABEL (NEXT_INSN (insn)))) + - INSN_ADDRESSES (INSN_UID (seq_insn)) - 8; /* If the branch was too far away, emit a normal call followed by a nop, followed by the unconditional branch. @@ -5917,8 +5917,8 @@ output_call (insn, call_dest, sibcall) /* Use the containing sequence insn's address. */ seq_insn = NEXT_INSN (PREV_INSN (XVECEXP (final_sequence, 0, 0))); - distance = insn_addresses[INSN_UID (JUMP_LABEL (NEXT_INSN (insn)))] - - insn_addresses[INSN_UID (seq_insn)] - 8; + distance = INSN_ADDRESSES (INSN_UID (JUMP_LABEL (NEXT_INSN (insn)))) + - INSN_ADDRESSES (INSN_UID (seq_insn)) - 8; /* If the branch was too far away, emit a normal call followed by a nop, followed by the unconditional branch. diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md index 45045875ffb..547d4212113 100644 --- a/gcc/config/pa/pa.md +++ b/gcc/config/pa/pa.md @@ -2205,9 +2205,9 @@ /* If we're trying to load the address of a label that happens to be close, then we can use a shorter sequence. */ if (GET_CODE (operands[1]) == LABEL_REF - && insn_addresses - && abs (insn_addresses[INSN_UID (XEXP (operands[1], 0))] - - insn_addresses[INSN_UID (insn)]) < 8100) + && INSN_ADDRESSES_SET_P () + && abs (INSN_ADDRESSES (INSN_UID (XEXP (operands[1], 0))) + - INSN_ADDRESSES (INSN_UID (insn))) < 8100) { /* Prefixing with R% here is wrong, it extracts just 11 bits and is always non-negative. */ |