From c0e7830f8cb99c695c5026f1685f86a5fdef8df5 Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Thu, 21 Jun 2001 12:50:56 -0400 Subject: integrate.c (ggc.h): Include. * 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. From-SVN: r43486 --- gcc/function.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gcc/function.c') diff --git a/gcc/function.c b/gcc/function.c index 2e493f3..6ecf099 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -57,6 +57,7 @@ Boston, MA 02111-1307, USA. */ #include "hash.h" #include "ggc.h" #include "tm_p.h" +#include "integrate.h" #ifndef TRAMPOLINE_ALIGNMENT #define TRAMPOLINE_ALIGNMENT FUNCTION_BOUNDARY @@ -7601,6 +7602,8 @@ mark_function_status (p) ggc_mark_rtx (p->x_nonlocal_goto_handler_labels); ggc_mark_rtx (p->x_nonlocal_goto_stack_level); ggc_mark_tree (p->x_nonlocal_labels); + + mark_hard_reg_initial_vals (p); } /* Mark the function chain ARG (which is really a struct function **) -- cgit v1.1