diff options
author | Kaz Kojima <kkojima@gcc.gnu.org> | 2009-05-18 22:31:46 +0000 |
---|---|---|
committer | Kaz Kojima <kkojima@gcc.gnu.org> | 2009-05-18 22:31:46 +0000 |
commit | 1bb99877d3353dbb216ee90a61bd9de811387c7d (patch) | |
tree | 47e4b75fcd061158001e39194bfc12f65db9f17a /gcc | |
parent | ff74fd1325ef58c09af1b294338321df2f6b97f0 (diff) | |
download | gcc-1bb99877d3353dbb216ee90a61bd9de811387c7d.zip gcc-1bb99877d3353dbb216ee90a61bd9de811387c7d.tar.gz gcc-1bb99877d3353dbb216ee90a61bd9de811387c7d.tar.bz2 |
sh-protos.h (sh_legitimate_address_p): Remove.
* config/sh/sh-protos.h (sh_legitimate_address_p): Remove.
* config/sh/sh.c (sh_legitimate_address_p): Make static.
(TARGET_LEGITIMATE_ADDRESS_P): New.
* config/sh/sh.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
* config/sh/sh.md: Clean up references to GO_IF_LEGITIMATE_ADDRESS.
From-SVN: r147679
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/sh/sh-protos.h | 1 | ||||
-rw-r--r-- | gcc/config/sh/sh.c | 6 | ||||
-rw-r--r-- | gcc/config/sh/sh.h | 14 | ||||
-rw-r--r-- | gcc/config/sh/sh.md | 2 |
5 files changed, 14 insertions, 17 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6b82ac7..26fca4a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2009-05-18 Kaz Kojima <kkojima@gcc.gnu.org> + + * config/sh/sh-protos.h (sh_legitimate_address_p): Remove. + * config/sh/sh.c (sh_legitimate_address_p): Make static. + (TARGET_LEGITIMATE_ADDRESS_P): New. + * config/sh/sh.h (GO_IF_LEGITIMATE_ADDRESS): Delete. + * config/sh/sh.md: Clean up references to GO_IF_LEGITIMATE_ADDRESS. + 2009-05-18 Dodji Seketeli <dodji@redhat.com> PR debug/40109 diff --git a/gcc/config/sh/sh-protos.h b/gcc/config/sh/sh-protos.h index fb89681..7e3f321 100644 --- a/gcc/config/sh/sh-protos.h +++ b/gcc/config/sh/sh-protos.h @@ -59,7 +59,6 @@ extern int fp_one_operand (rtx); extern int fp_int_operand (rtx); extern rtx get_fpscr_rtx (void); extern bool sh_legitimate_index_p (enum machine_mode, rtx); -extern bool sh_legitimate_address_p (enum machine_mode, rtx, bool); extern rtx legitimize_pic_address (rtx, enum machine_mode, rtx); extern int nonpic_symbol_mentioned_p (rtx); extern void emit_sf_insn (rtx); diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index 363934d..836eb75 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -238,6 +238,7 @@ static bool sh_rtx_costs (rtx, int, int, int *, bool); static int sh_address_cost (rtx, bool); static int sh_pr_n_sets (void); static rtx sh_allocate_initial_value (rtx); +static bool sh_legitimate_address_p (enum machine_mode, rtx, bool); static rtx sh_legitimize_address (rtx, rtx, enum machine_mode); static int shmedia_target_regs_stack_space (HARD_REG_SET *); static int shmedia_reserve_space_for_target_registers_p (int, HARD_REG_SET *); @@ -480,6 +481,9 @@ static int sh2a_function_vector_p (tree); #undef TARGET_SECONDARY_RELOAD #define TARGET_SECONDARY_RELOAD sh_secondary_reload +#undef TARGET_LEGITIMATE_ADDRESS_P +#define TARGET_LEGITIMATE_ADDRESS_P sh_legitimate_address_p + /* Machine-specific symbol_ref flags. */ #define SYMBOL_FLAG_FUNCVEC_FUNCTION (SYMBOL_FLAG_MACH_DEP << 0) @@ -9029,7 +9033,7 @@ sh_legitimate_index_p (enum machine_mode mode, rtx op) REG++ --REG */ -bool +static bool sh_legitimate_address_p (enum machine_mode mode, rtx x, bool strict) { if (MAYBE_BASE_REGISTER_RTX_P (x, strict)) diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index d63a7d6..c3c08bb 100644 --- a/gcc/config/sh/sh.h +++ b/gcc/config/sh/sh.h @@ -2320,20 +2320,6 @@ struct sh_args { if (sh_legitimate_index_p ((MODE), (OP))) \ goto WIN; \ } while (0) - -#ifdef REG_OK_STRICT -#define GO_IF_LEGITIMATE_ADDRESS(MODE, X, LABEL) \ - do { \ - if (sh_legitimate_address_p ((MODE), (X), true)) \ - goto LABEL; \ - } while (0) -#else -#define GO_IF_LEGITIMATE_ADDRESS(MODE, X, LABEL) \ - do { \ - if (sh_legitimate_address_p ((MODE), (X), false)) \ - goto LABEL; \ - } while (0) -#endif /* A C compound statement that attempts to replace X, which is an address that needs reloading, with a valid memory address for an operand of diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index ca69108..6f4d1b2 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -9564,7 +9564,7 @@ mov.l\\t1f,r0\\n\\ ;; The c / m alternative is a fake to guide reload to load directly into ;; fpscr, since reload doesn't know how to use post-increment. -;; GO_IF_LEGITIMATE_ADDRESS guards about bogus addresses before reload, +;; TARGET_LEGITIMATE_ADDRESS_P guards about bogus addresses before reload, ;; SECONDARY_INPUT_RELOAD_CLASS does this during reload, and the insn's ;; predicate after reload. ;; The mac_gp type for r/!c might look a bit odd, but it actually schedules |