This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[committed] Use target-insns.def for reload_load_address
- From: Richard Sandiford <richard dot sandiford at arm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Tue, 28 Jul 2015 21:37:22 +0100
- Subject: [committed] Use target-insns.def for reload_load_address
- Authentication-results: sourceware.org; auth=none
Bootstrapped & regression-tested on x86_64-linux-gnu and aarch64-linux-gnu.
Also tested via config-list.mk. Committed as preapproved.
Thanks,
Richard
gcc/
* target-insns.def (reload_load_address): New targetm instruction
pattern.
* reload1.c (gen_reload): Use it instead of HAVE_*/gen_* interface.
Index: gcc/target-insns.def
===================================================================
--- gcc/target-insns.def 2015-06-28 12:29:34.245633312 +0100
+++ gcc/target-insns.def 2015-06-28 12:30:58.298088971 +0100
@@ -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))
Index: gcc/reload1.c
===================================================================
--- gcc/reload1.c 2015-06-27 17:11:38.224086135 +0100
+++ gcc/reload1.c 2015-06-28 12:29:34.245633312 +0100
@@ -8813,10 +8813,8 @@ gen_reload (rtx out, rtx in, int opnum,
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