diff options
author | dj <dj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-06-21 16:50:56 +0000 |
---|---|---|
committer | dj <dj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-06-21 16:50:56 +0000 |
commit | fb0c0ea75ecee8f462abcfa35a2eff4144625ea6 (patch) | |
tree | 38ad78224be3ce9d772ab85dbd0b522179b799d5 /gcc/function.h | |
parent | 3db5236b6fea66843c1f26efd54e7b8e0605b88b (diff) | |
download | gcc-fb0c0ea75ecee8f462abcfa35a2eff4144625ea6.tar.gz |
* integrate.c (ggc.h): Include.
(initial_value_pair, initial_value_struct,
setup_initial_hard_reg_value_integration): Add prototypes.
(expand_inline_function): Call
setup_initial_hard_reg_value_integration.
(has_func_hard_reg_initial_val, get_func_hard_reg_initial_val,
get_hard_reg_initial_val, has_hard_reg_initial_val): New functions
to keep track of values present at the start of a function.
(mark_hard_reg_initial_vals): New, for gc.
(setup_initial_hard_reg_value_integration): New. Sets up pseudo
mappings for initial values.
(emit_initial_value_sets): New. Emits code to set initial value
pseudos.
* integrate.h: Add prototypes for new functions.
* function.h (struct function): Add hard_reg_initial_vals field.
* function.c (integrate.h): Include.
(mark_function_status): Call
mark_hard_reg_initial_vals.
* toplev.c (integrate.h): Include.
(rest_of_compilation): Call emit_initial_value_sets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43486 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/function.h')
-rw-r--r-- | gcc/function.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/function.h b/gcc/function.h index f27c2b01846..3322f43a593 100644 --- a/gcc/function.h +++ b/gcc/function.h @@ -235,6 +235,10 @@ struct function inline. */ const char *cannot_inline; + /* Opaque pointer used by get_hard_reg_initial_val and + has_hard_reg_initial_val (see integrate.[hc]). */ + struct initial_value_struct *hard_reg_initial_vals; + /* Number of function calls seen so far in current function. */ int x_function_call_count; |