aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@gcc.gnu.org>2009-05-18 22:31:46 +0000
committerKaz Kojima <kkojima@gcc.gnu.org>2009-05-18 22:31:46 +0000
commit1bb99877d3353dbb216ee90a61bd9de811387c7d (patch)
tree47e4b75fcd061158001e39194bfc12f65db9f17a /gcc
parentff74fd1325ef58c09af1b294338321df2f6b97f0 (diff)
downloadgcc-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/ChangeLog8
-rw-r--r--gcc/config/sh/sh-protos.h1
-rw-r--r--gcc/config/sh/sh.c6
-rw-r--r--gcc/config/sh/sh.h14
-rw-r--r--gcc/config/sh/sh.md2
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