aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.h
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2013-02-19 00:04:49 +0000
committerAldy Hernandez <aldyh@gcc.gnu.org>2013-02-19 00:04:49 +0000
commit135204ddd3bf1f3885db364c109bf977f5067e8f (patch)
tree7a29bd18e10dbd4f5b64765ae5b8f07a5bda81db /gcc/function.h
parentf6007d99f88822a517d15c6e56dcbfa66e8b5dec (diff)
downloadgcc-135204ddd3bf1f3885db364c109bf977f5067e8f.zip
gcc-135204ddd3bf1f3885db364c109bf977f5067e8f.tar.gz
gcc-135204ddd3bf1f3885db364c109bf977f5067e8f.tar.bz2
re PR target/52555 (ICE unrecognizable insn with -ffast-math and __attribute__((optimize(xx))))
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. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r196129
Diffstat (limited to 'gcc/function.h')
-rw-r--r--gcc/function.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/function.h b/gcc/function.h
index 89d71e5..53e28b7 100644
--- a/gcc/function.h
+++ b/gcc/function.h
@@ -580,6 +580,9 @@ struct GTY(()) function {
a string describing the reason for failure. */
const char * GTY((skip)) cannot_be_copied_reason;
+ /* Optabs for this function. This is of type `struct target_optabs *'. */
+ unsigned char *GTY ((atomic)) optabs;
+
/* Collected bit flags. */
/* Number of units of general registers that need saving in stdarg