From cdebbc6d8dcade8634ca18060205f2065bb9973f Mon Sep 17 00:00:00 2001 From: Jakub Jelinek <jakub@redhat.com> Date: Sun, 24 Feb 2013 19:54:37 +0100 Subject: [PATCH] re PR target/52555 (ICE unrecognizable insn with -ffast-math and __attribute__((optimize(xx)))) 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. From-SVN: r196245 --- gcc/ChangeLog | 6 ++++++ gcc/target-globals.c | 3 +++ 2 files changed, 9 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fda14f3cb7ef..ca97c8a7be56 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 d72495da26d2..65ccb8af5e6a 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; } -- GitLab