diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2013-02-19 00:04:49 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2013-02-19 00:04:49 +0000 |
commit | 135204ddd3bf1f3885db364c109bf977f5067e8f (patch) | |
tree | 7a29bd18e10dbd4f5b64765ae5b8f07a5bda81db /gcc/function.h | |
parent | f6007d99f88822a517d15c6e56dcbfa66e8b5dec (diff) | |
download | gcc-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.h | 3 |
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 |