summaryrefslogtreecommitdiff
path: root/gcc/function.h
diff options
context:
space:
mode:
authordj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>2001-06-21 16:50:56 +0000
committerdj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>2001-06-21 16:50:56 +0000
commitfb0c0ea75ecee8f462abcfa35a2eff4144625ea6 (patch)
tree38ad78224be3ce9d772ab85dbd0b522179b799d5 /gcc/function.h
parent3db5236b6fea66843c1f26efd54e7b8e0605b88b (diff)
downloadgcc-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.h4
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;