OSDN Git Service

Daily bump.
[pf3gnuchains/gcc-fork.git] / gcc / target-globals.c
index 3a7f2d4..7a4058e 100644 (file)
@@ -28,11 +28,35 @@ along with GCC; see the file COPYING3.  If not see
 #include "target-globals.h"
 #include "flags.h"
 #include "regs.h"
+#include "rtl.h"
+#include "hard-reg-set.h"
+#include "reload.h"
+#include "expmed.h"
+#include "expr.h"
+#include "optabs.h"
+#include "libfuncs.h"
+#include "cfgloop.h"
+#include "ira-int.h"
+#include "builtins.h"
+#include "gcse.h"
+#include "bb-reorder.h"
 
 #if SWITCHABLE_TARGET
 struct target_globals default_target_globals = {
   &default_target_flag_state,
-  &default_target_regs
+  &default_target_regs,
+  &default_target_rtl,
+  &default_target_hard_regs,
+  &default_target_reload,
+  &default_target_expmed,
+  &default_target_optabs,
+  &default_target_libfuncs,
+  &default_target_cfgloop,
+  &default_target_ira,
+  &default_target_ira_int,
+  &default_target_builtins,
+  &default_target_gcse,
+  &default_target_bb_reorder
 };
 
 struct target_globals *
@@ -43,7 +67,20 @@ save_target_globals (void)
   g = ggc_alloc_target_globals ();
   g->flag_state = XCNEW (struct target_flag_state);
   g->regs = XCNEW (struct target_regs);
+  g->rtl = ggc_alloc_cleared_target_rtl ();
+  g->hard_regs = XCNEW (struct target_hard_regs);
+  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 ();
+  g->cfgloop = XCNEW (struct target_cfgloop);
+  g->ira = XCNEW (struct target_ira);
+  g->ira_int = XCNEW (struct target_ira_int);
+  g->builtins = XCNEW (struct target_builtins);
+  g->gcse = XCNEW (struct target_gcse);
+  g->bb_reorder = XCNEW (struct target_bb_reorder);
   restore_target_globals (g);
+  init_reg_sets ();
   target_reinit ();
   return g;
 }