function.c (free_after_compilation): Free epilogue_delay_list.

* function.c (free_after_compilation): Free epilogue_delay_list.
	(prepare_function_start): Assert that previous compilation was freed.

From-SVN: r133787
This commit is contained in:
Jan Hubicka 2008-04-01 10:51:25 +02:00 committed by Jan Hubicka
parent ec24c3a3c9
commit 113c63b8e3
2 changed files with 9 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2008-04-01 Jan Hubicka <jh@suse.cz>
* function.c (free_after_compilation): Free epilogue_delay_list.
(prepare_function_start): Assert that previous compilation was freed.
2008-04-01 Jan Hubicka <jh@suse.cz> 2008-04-01 Jan Hubicka <jh@suse.cz>
Jim Wilson <wilson@tuliptree.org> Jim Wilson <wilson@tuliptree.org>
Andreas Tobler <andreast@gcc.gnu.org> Andreas Tobler <andreast@gcc.gnu.org>

View File

@ -313,7 +313,8 @@ free_after_compilation (struct function *f)
VEC_free (int, heap, prologue); VEC_free (int, heap, prologue);
VEC_free (int, heap, epilogue); VEC_free (int, heap, epilogue);
VEC_free (int, heap, sibcall_epilogue); VEC_free (int, heap, sibcall_epilogue);
free (rtl.emit.regno_pointer_align); if (rtl.emit.regno_pointer_align)
free (rtl.emit.regno_pointer_align);
memset (&rtl, 0, sizeof (rtl)); memset (&rtl, 0, sizeof (rtl));
f->eh = NULL; f->eh = NULL;
@ -323,6 +324,7 @@ free_after_compilation (struct function *f)
f->arg_offset_rtx = NULL; f->arg_offset_rtx = NULL;
f->return_rtx = NULL; f->return_rtx = NULL;
f->internal_arg_pointer = NULL; f->internal_arg_pointer = NULL;
f->epilogue_delay_list = NULL;
} }
/* Return size needed for stack frame based on slots so far allocated. /* Return size needed for stack frame based on slots so far allocated.
@ -3935,6 +3937,7 @@ push_struct_function (tree fndecl)
static void static void
prepare_function_start (void) prepare_function_start (void)
{ {
gcc_assert (!rtl.emit.x_last_insn);
init_emit (); init_emit ();
init_varasm_status (); init_varasm_status ();
init_expr (); init_expr ();