aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/target-globals.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fda14f3..ca97c8a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2013-02-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/52555
+ * target-globals.c (save_target_globals): For init_reg_sets and
+ target_reinit remporarily set this_fn_optabs to this_target_optabs.
+
2013-02-22 James Grennahlgh <james.greenhalgh@arm.com>
* config/aarch64/aarch64-simd-builtins.def: Add copyright header.
diff --git a/gcc/target-globals.c b/gcc/target-globals.c
index d72495d..65ccb8a 100644
--- a/gcc/target-globals.c
+++ b/gcc/target-globals.c
@@ -67,6 +67,7 @@ struct target_globals *
save_target_globals (void)
{
struct target_globals *g;
+ struct target_optabs *saved_this_fn_optabs = this_fn_optabs;
g = ggc_alloc_target_globals ();
g->flag_state = XCNEW (struct target_flag_state);
@@ -86,8 +87,10 @@ save_target_globals (void)
g->bb_reorder = XCNEW (struct target_bb_reorder);
g->lower_subreg = XCNEW (struct target_lower_subreg);
restore_target_globals (g);
+ this_fn_optabs = this_target_optabs;
init_reg_sets ();
target_reinit ();
+ this_fn_optabs = saved_this_fn_optabs;
return g;
}