===================================================================
@@ -141,8 +141,9 @@ reg_set_to_hard_reg_set (HARD_REG_SET *t
}
}
-/* Function called only once to initialize the above data on reg usage.
- Once this is done, various switches may override. */
+/* Function called only once per target_globals to initialize the
+ target_hard_regs structure. Once this is done, various switches
+ may override. */
void
init_reg_sets (void)
{
@@ -185,7 +186,6 @@ init_reg_sets (void)
memcpy (reg_alloc_order, initial_reg_alloc_order, sizeof reg_alloc_order);
#endif
memcpy (reg_names, initial_reg_names, sizeof reg_names);
- memset (global_regs, 0, sizeof global_regs);
}
/* Initialize may_move_cost and friends for mode M. */
===================================================================
@@ -80,6 +80,7 @@ save_target_globals (void)
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;
}