aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2015-07-28 20:06:57 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2015-07-28 20:06:57 +0000
commit726858e30955b401a568f397e22c60062a9f57a3 (patch)
tree98755151d7ab3ab3e6c214347cdcbe9d199f253f /gcc
parent3d00045080bdf31878936a5766dbad85f8ad6efe (diff)
downloadgcc-726858e30955b401a568f397e22c60062a9f57a3.zip
gcc-726858e30955b401a568f397e22c60062a9f57a3.tar.gz
gcc-726858e30955b401a568f397e22c60062a9f57a3.tar.bz2
target-insns.def (reload_load_address): New targetm instruction pattern.
gcc/ * target-insns.def (reload_load_address): New targetm instruction pattern. * reload1.c (gen_reload): Use it instead of HAVE_*/gen_* interface. From-SVN: r226326
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/reload1.c6
-rw-r--r--gcc/target-insns.def1
3 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f0bbc54..449df03 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
+ * target-insns.def (reload_load_address): New targetm instruction
+ pattern.
+ * reload1.c (gen_reload): Use it instead of HAVE_*/gen_* interface.
+
+2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
+
* target-insns.def (atomic_test_and_set): New targetm instruction
pattern.
* optabs.c (maybe_emit_atomic_test_and_set): Use it instead of
diff --git a/gcc/reload1.c b/gcc/reload1.c
index cbfcae7..ce06e06 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -8803,10 +8803,8 @@ gen_reload (rtx out, rtx in, int opnum, enum reload_type type)
mark_jump_label (in, tem, 0);
}
-#ifdef HAVE_reload_load_address
- else if (HAVE_reload_load_address)
- emit_insn (gen_reload_load_address (out, in));
-#endif
+ else if (targetm.have_reload_load_address ())
+ emit_insn (targetm.gen_reload_load_address (out, in));
/* Otherwise, just write (set OUT IN) and hope for the best. */
else
diff --git a/gcc/target-insns.def b/gcc/target-insns.def
index d1343cd..0c64a6b 100644
--- a/gcc/target-insns.def
+++ b/gcc/target-insns.def
@@ -61,6 +61,7 @@ DEF_TARGET_INSN (probe_stack, (rtx x0))
DEF_TARGET_INSN (probe_stack_address, (rtx x0))
DEF_TARGET_INSN (prologue, (void))
DEF_TARGET_INSN (ptr_extend, (rtx x0, rtx x1))
+DEF_TARGET_INSN (reload_load_address, (rtx x0, rtx x1))
DEF_TARGET_INSN (restore_stack_block, (rtx x0, rtx x1))
DEF_TARGET_INSN (restore_stack_function, (rtx x0, rtx x1))
DEF_TARGET_INSN (restore_stack_nonlocal, (rtx x0, rtx x1))