diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-07-12 18:55:48 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-07-12 18:55:48 +0000 |
commit | d0f03375468f173a33fe2f655e260c0ff6209e25 (patch) | |
tree | 3386f4b0b387575b31aa4559e02d101b1270353f /gcc/target-globals.c | |
parent | 63027472f4239a38a77c77cd487c4ee9b1033c09 (diff) | |
download | gcc-d0f03375468f173a33fe2f655e260c0ff6209e25.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162099 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/target-globals.c')
-rw-r--r-- | gcc/target-globals.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/target-globals.c b/gcc/target-globals.c index cfabb87c909..6655f9a5fe0 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; |