http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52555
--- Comment #12 from Aldy Hernandez <aldyh at gcc dot gnu.org> 2013-02-19 00:04:59 UTC --- Author: aldyh Date: Tue Feb 19 00:04:49 2013 New Revision: 196129 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=196129 Log: PR target/52555 * genopinit.c (raw_optab_handler): Use this_fn_optabs. (swap_optab_enable): Same. (init_all_optabs): Use argument instead of global. * tree.h (struct tree_optimization_option): New field target_optabs. * expr.h (init_all_optabs): Add argument to prototype. (TREE_OPTIMIZATION_OPTABS): New. (save_optabs_if_changed): Protoize. * optabs.h: Declare this_fn_optabs. * optabs.c (save_optabs_if_changed): New. Declare this_fn_optabs. (init_optabs): Add argument to init_all_optabs() call. * function.c (invoke_set_current_function_hook): Handle per function optabs. * function.h (struct function): New field optabs. * config/mips/mips.c (mips_set_mips16_mode): Handle when optimization_current_node has changed. * target-globals.h (save_target_globals_default_opts): Protoize. * target-globals.c (save_target_globals_default_opts): New. c-family/ * c-common.c (handle_optimize_attribute): Call save_optabs_if_changed. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr52555.c Modified: trunk/gcc/ChangeLog trunk/gcc/c-family/ChangeLog trunk/gcc/c-family/c-common.c trunk/gcc/config/mips/mips.c trunk/gcc/expr.h trunk/gcc/function.c trunk/gcc/function.h trunk/gcc/genopinit.c trunk/gcc/optabs.c trunk/gcc/optabs.h trunk/gcc/target-globals.c trunk/gcc/target-globals.h trunk/gcc/tree.h