summaryrefslogtreecommitdiff
path: root/gcc/genopinit.c
diff options
context:
space:
mode:
authoraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>2013-02-19 00:04:49 +0000
committeraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>2013-02-19 00:04:49 +0000
commit08c7d04b22fcecc819cd9aa910beaafd416aca2a (patch)
tree7a29bd18e10dbd4f5b64765ae5b8f07a5bda81db /gcc/genopinit.c
parent19426fe11f824ba4a15e79cb09934e173b0296ed (diff)
downloadgcc-08c7d04b22fcecc819cd9aa910beaafd416aca2a.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196129 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/genopinit.c')
-rw-r--r--gcc/genopinit.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/genopinit.c b/gcc/genopinit.c
index 1bb2f770d22..fb8071765dd 100644
--- a/gcc/genopinit.c
+++ b/gcc/genopinit.c
@@ -422,8 +422,8 @@ main (int argc, char **argv)
fprintf (s_file, " { %#08x, CODE_FOR_%s },\n", p->sort_num, p->name);
fprintf (s_file, "};\n\n");
- fprintf (s_file, "void\ninit_all_optabs (void)\n{\n");
- fprintf (s_file, " bool *ena = this_target_optabs->pat_enable;\n");
+ fprintf (s_file, "void\ninit_all_optabs (struct target_optabs *optabs)\n{\n");
+ fprintf (s_file, " bool *ena = optabs->pat_enable;\n");
for (i = 0; patterns.iterate (i, &p); ++i)
fprintf (s_file, " ena[%u] = HAVE_%s;\n", i, p->name);
fprintf (s_file, "}\n\n");
@@ -456,7 +456,7 @@ main (int argc, char **argv)
"raw_optab_handler (unsigned scode)\n"
"{\n"
" int i = lookup_handler (scode);\n"
- " return (i >= 0 && this_target_optabs->pat_enable[i]\n"
+ " return (i >= 0 && this_fn_optabs->pat_enable[i]\n"
" ? pats[i].icode : CODE_FOR_nothing);\n"
"}\n\n");
@@ -468,8 +468,8 @@ main (int argc, char **argv)
" int i = lookup_handler (scode);\n"
" if (i >= 0)\n"
" {\n"
- " bool ret = this_target_optabs->pat_enable[i];\n"
- " this_target_optabs->pat_enable[i] = set;\n"
+ " bool ret = this_fn_optabs->pat_enable[i];\n"
+ " this_fn_optabs->pat_enable[i] = set;\n"
" return ret;\n"
" }\n"
" else\n"