diff options
author | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-05-21 10:58:29 +0000 |
---|---|---|
committer | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-05-21 10:58:29 +0000 |
commit | 29f0970542b79ab13a96e65df777c69c48e867e0 (patch) | |
tree | 285b968663b9075e8e13ac5ead7cb3afd6a842d9 /gcc/function.h | |
parent | 86bb962704b226c94bfeaf960edecdf73ca23110 (diff) | |
download | gcc-29f0970542b79ab13a96e65df777c69c48e867e0.tar.gz |
* builtins.c (expand_builtin_setjmp_setup): Update comment.
* function.h (struct function): Move va_list_gpr_size,
va_list_fpr_size, function_frequency to front of bitfields. Add
calls_unwind_init.
(current_function_calls_unwind_init): New.
* except.c (expand_builtin_unwind_init): Set
current_function_calls_unwind_init not
current_function_has_nonlocal_label.
* reload1.c (has_nonexceptional_receiver): New.
(reload): Use it and current_function_calls_unwind_init to
determine whether call-saved regs must be saved.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124898 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/function.h')
-rw-r--r-- | gcc/function.h | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/gcc/function.h b/gcc/function.h index c4faaf13df1..3367380eb9d 100644 --- a/gcc/function.h +++ b/gcc/function.h @@ -374,6 +374,19 @@ struct function GTY(()) /* Collected bit flags. */ + /* Number of units of general registers that need saving in stdarg + function. What unit is depends on the backend, either it is number + of bytes, or it can be number of registers. */ + unsigned int va_list_gpr_size : 8; + + /* Number of units of floating point registers that need saving in stdarg + function. */ + unsigned int va_list_fpr_size : 8; + + /* How commonly executed the function is. Initialized during branch + probabilities pass. */ + ENUM_BITFIELD (function_frequency) function_frequency : 2; + /* Nonzero if function being compiled needs to be given an address where the value should be stored. */ unsigned int returns_struct : 1; @@ -403,6 +416,9 @@ struct function GTY(()) from nested functions. */ unsigned int has_nonlocal_label : 1; + /* Nonzero if function calls builtin_unwind_init. */ + unsigned int calls_unwind_init : 1; + /* Nonzero if function being compiled has nonlocal gotos to parent function. */ unsigned int has_nonlocal_goto : 1; @@ -459,19 +475,6 @@ struct function GTY(()) /* Set when the tail call has been produced. */ unsigned int tail_call_emit : 1; - /* How commonly executed the function is. Initialized during branch - probabilities pass. */ - ENUM_BITFIELD (function_frequency) function_frequency : 2; - - /* Number of units of general registers that need saving in stdarg - function. What unit is depends on the backend, either it is number - of bytes, or it can be number of registers. */ - unsigned int va_list_gpr_size : 8; - - /* Number of units of floating point registers that need saving in stdarg - function. */ - unsigned int va_list_fpr_size : 8; - /* FIXME tuples: This bit is temporarily here to mark when a function has been gimplified, so we can make sure we're not creating non GIMPLE tuples after gimplification. */ @@ -520,6 +523,7 @@ extern int trampolines_created; #define current_function_uses_const_pool (cfun->uses_const_pool) #define current_function_epilogue_delay_list (cfun->epilogue_delay_list) #define current_function_has_nonlocal_label (cfun->has_nonlocal_label) +#define current_function_calls_unwind_init (cfun->calls_unwind_init) #define current_function_has_nonlocal_goto (cfun->has_nonlocal_goto) #define return_label (cfun->x_return_label) |