Commit d477d1fe by Steven Bosscher

explow.c (set_stack_check_libfunc): Adjust to accept name as a string instead of SYMBOL_REF rtx.

gcc/ChangeLog:
	* explow.c (set_stack_check_libfunc): Adjust to accept name as a
	string instead of SYMBOL_REF rtx.
	* rtl.h (set_stack_check_libfunc): Move prototype from here...
	* libfuncs.h: ...to here.  Adjust for explow.c change.

ada/ChangeLog:
	* gcc-interface/trans.c: Do not include rtl.h, insclude libfuncs.h.
	(gigi): Adjust call to set_stack_check_libfunc.

From-SVN: r159900
parent 6484716c
2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
* explow.c (set_stack_check_libfunc): Adjust to accept name as a
string instead of SYMBOL_REF rtx.
* rtl.h (set_stack_check_libfunc): Move prototype from here...
* libfuncs.h: ...to here. Adjust for explow.c change.
2010-05-26 Joseph Myers <joseph@codesourcery.com> 2010-05-26 Joseph Myers <joseph@codesourcery.com>
* pretty-print.c: Don't include ggc.h. * pretty-print.c: Don't include ggc.h.
......
2010-05-26 Steven Bosscher <steven@gcc.gnu.org> 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
* gcc-interface/trans.c: Do not include rtl.h, insclude libfuncs.h.
(gigi): Adjust call to set_stack_check_libfunc.
2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
* gcc-interface/utils.c: Do not include rtl.h. * gcc-interface/utils.c: Do not include rtl.h.
2010-05-25 Steven Bosscher <steven@gcc.gnu.org> 2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
......
...@@ -29,11 +29,9 @@ ...@@ -29,11 +29,9 @@
#include "tm.h" #include "tm.h"
#include "tree.h" #include "tree.h"
#include "flags.h" #include "flags.h"
#include "rtl.h" /* FIXME: For set_stack_check_libfunc and
gen_rtx_SYMBOL_REF -- here is a front end
still trying to generate RTL! */
#include "ggc.h" #include "ggc.h"
#include "output.h" #include "output.h"
#include "libfuncs.h" /* For set_stack_check_libfunc. */
#include "tree-iterator.h" #include "tree-iterator.h"
#include "gimple.h" #include "gimple.h"
...@@ -313,7 +311,7 @@ gigi (Node_Id gnat_root, int max_gnat_node, int number_name ATTRIBUTE_UNUSED, ...@@ -313,7 +311,7 @@ gigi (Node_Id gnat_root, int max_gnat_node, int number_name ATTRIBUTE_UNUSED,
/* Enable GNAT stack checking method if needed */ /* Enable GNAT stack checking method if needed */
if (!Stack_Check_Probes_On_Target) if (!Stack_Check_Probes_On_Target)
set_stack_check_libfunc (gen_rtx_SYMBOL_REF (Pmode, "_gnat_stack_check")); set_stack_check_libfunc ("_gnat_stack_check");
/* Retrieve alignment settings. */ /* Retrieve alignment settings. */
double_float_alignment = get_target_double_float_alignment (); double_float_alignment = get_target_double_float_alignment ();
......
...@@ -33,6 +33,7 @@ along with GCC; see the file COPYING3. If not see ...@@ -33,6 +33,7 @@ along with GCC; see the file COPYING3. If not see
#include "function.h" #include "function.h"
#include "expr.h" #include "expr.h"
#include "optabs.h" #include "optabs.h"
#include "libfuncs.h"
#include "hard-reg-set.h" #include "hard-reg-set.h"
#include "insn-config.h" #include "insn-config.h"
#include "ggc.h" #include "ggc.h"
...@@ -1346,9 +1347,10 @@ allocate_dynamic_stack_space (rtx size, rtx target, int known_align) ...@@ -1346,9 +1347,10 @@ allocate_dynamic_stack_space (rtx size, rtx target, int known_align)
static GTY(()) rtx stack_check_libfunc; static GTY(()) rtx stack_check_libfunc;
void void
set_stack_check_libfunc (rtx libfunc) set_stack_check_libfunc (const char *libfunc_name)
{ {
stack_check_libfunc = libfunc; gcc_assert (stack_check_libfunc == NULL_RTX);
stack_check_libfunc = gen_rtx_SYMBOL_REF (Pmode, libfunc_name);
} }
/* Emit one stack probe at ADDRESS, an address within the stack. */ /* Emit one stack probe at ADDRESS, an address within the stack. */
......
...@@ -71,4 +71,7 @@ extern GTY(()) rtx libfunc_table[LTI_MAX]; ...@@ -71,4 +71,7 @@ extern GTY(()) rtx libfunc_table[LTI_MAX];
#define gcov_flush_libfunc (libfunc_table[LTI_gcov_flush]) #define gcov_flush_libfunc (libfunc_table[LTI_gcov_flush])
/* In explow.c */
extern void set_stack_check_libfunc (const char *);
#endif /* GCC_LIBFUNCS_H */ #endif /* GCC_LIBFUNCS_H */
...@@ -1548,7 +1548,6 @@ extern int currently_expanding_to_rtl; ...@@ -1548,7 +1548,6 @@ extern int currently_expanding_to_rtl;
extern int ceil_log2 (unsigned HOST_WIDE_INT); extern int ceil_log2 (unsigned HOST_WIDE_INT);
/* In explow.c */ /* In explow.c */
extern void set_stack_check_libfunc (rtx);
extern HOST_WIDE_INT trunc_int_for_mode (HOST_WIDE_INT, enum machine_mode); extern HOST_WIDE_INT trunc_int_for_mode (HOST_WIDE_INT, enum machine_mode);
extern rtx plus_constant (rtx, HOST_WIDE_INT); extern rtx plus_constant (rtx, HOST_WIDE_INT);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment