From 3e9c326a88c289e25d58d2e9efb8517ef272410d Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Mon, 12 Jul 2010 18:55:48 +0000 Subject: Makefile.in (LIBFUNCS_H): Add $(HASHTAB_H). gcc/ * Makefile.in (LIBFUNCS_H): Add $(HASHTAB_H). (target-globals.o): Depend on $(LIBFUNCS_H). * libfuncs.h: Include hashtab.h. (libfunc_entry): Moved from optabs.c. (target_libfuncs): New structure. (default_target_libfuncs): Declare. (this_target_libfuncs): Declare as a variable or define as a macro. (libfunc_table): Redefine as a macro. * optabs.c (default_target_libfuncs): New variable. (this_target_libfuncs): New conditional variable. (libfunc_table): Delete. (libfunc_entry): Moved to optabs.h. (libfunc_hash): Redefine as a macro. (hash_libfunc, eq_libfunc): Fix comments. (init_optabs): Use libfunc_hash to detect cases where the function has already been called. Clear the hash table instead of recreating it. * target-globals.h (this_target_libfuncs): Declare. (target_globals): Add a libfuncs field. (restore_target_globals): Copy the libfuncs field to this_target_libfuncs. * target-globals.c: Include libfuncs.h. (default_target_globals): Initialize the libfuncs field. (save_target_globals): Likewise. From-SVN: r162099 --- gcc/target-globals.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gcc/target-globals.c') diff --git a/gcc/target-globals.c b/gcc/target-globals.c index cfabb87..6655f9a 100644 --- a/gcc/target-globals.c +++ b/gcc/target-globals.c @@ -34,6 +34,7 @@ along with GCC; see the file COPYING3. If not see #include "expmed.h" #include "expr.h" #include "optabs.h" +#include "libfuncs.h" #if SWITCHABLE_TARGET struct target_globals default_target_globals = { @@ -43,7 +44,8 @@ struct target_globals default_target_globals = { &default_target_hard_regs, &default_target_reload, &default_target_expmed, - &default_target_optabs + &default_target_optabs, + &default_target_libfuncs }; struct target_globals * @@ -59,6 +61,7 @@ save_target_globals (void) g->reload = XCNEW (struct target_reload); g->expmed = XCNEW (struct target_expmed); g->optabs = XCNEW (struct target_optabs); + g->libfuncs = ggc_alloc_cleared_target_libfuncs (); restore_target_globals (g); target_reinit (); return g; -- cgit v1.1