On Mon, Feb 18, 2013 at 12:50:59PM -0600, Aldy Hernandez wrote: > OK pending tests?
> 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 > PR target/52555 > * c-common.c (handle_optimize_attribute): Call > save_optabs_if_changed. Aldy, Have you gotten any reports of problems with this patch? It seems to be sending cc1 into an infinite loop during the GCC testsuite for me. I am testing the mips-mti-linux-gnu target and tests like gcc.target/mips/call-saved-1.c are causing cc1 to suck up all my memory and swap space before the test times out. I will keep digging and see if I can figure out what is going on but I wanted to see if anyone else has reported this problem. Steve Ellcey sell...@imgtec.com