From 6b0c2336ba22b3d0e8d36651169a5bab2b25fe35 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Thu, 3 Apr 2008 05:49:27 -0700 Subject: [PATCH] re PR target/35795 (Revision 133787 breaks ia64) 2008-04-03 Jan Hubicka PR tree-optimization/35795 * alpha/alpha.c (alpha_output_mi_thunk_osf): Free after compilation. * sparc/sparc.c (sparc_output_mi_thunk): Likewise. * ia64/ia64.c (ia64_output_mi_thunk): Likewise. * m68k/m68k.c (m68k_output_mi_thunk): Likewise. * score/score3.c (score3_output_mi_thunk): Likewise. * score/score7.c (score7_output_mi_thunk): Likewise. * mips/mips.c (mips_output_mi_thunk): Likewise. From-SVN: r133868 --- gcc/ChangeLog | 77 ++++++++++++++++++++++----------------- gcc/config/alpha/alpha.c | 1 + gcc/config/ia64/ia64.c | 1 + gcc/config/m68k/m68k.c | 1 + gcc/config/mips/mips.c | 1 + gcc/config/score/score3.c | 1 + gcc/config/score/score7.c | 1 + gcc/config/sparc/sparc.c | 1 + 8 files changed, 51 insertions(+), 33 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 321dfb04d0f..126309259da 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2008-04-03 Jan Hubicka + + PR tree-optimization/35795 + * alpha/alpha.c (alpha_output_mi_thunk_osf): Free after compilation. + * sparc/sparc.c (sparc_output_mi_thunk): Likewise. + * ia64/ia64.c (ia64_output_mi_thunk): Likewise. + * m68k/m68k.c (m68k_output_mi_thunk): Likewise. + * score/score3.c (score3_output_mi_thunk): Likewise. + * score/score7.c (score7_output_mi_thunk): Likewise. + * mips/mips.c (mips_output_mi_thunk): Likewise. + 2008-04-03 Richard Guenther * tree-vrp.c (extract_range_from_unary_expr): Handle all @@ -22,42 +33,42 @@ 2008-04-03 Paolo Bonzini - * tree-inline.c (copy_generic_body, copy_decl_no_change): Export. - (remap_block): Call id->transform_lang_insert_block instead - of langhook. - (optimize_inline_calls, unsave_expr_now, tree_function_versioning): - Set id.transform_lang_insert_block to NULL. - (clone_body): Move to cp/optimize.c - * tree-inline.h (struct copy_body_data): Change - transform_lang_insert_block to function pointer. - (copy_generic_body, copy_decl_no_change): Export. - * langhooks.h (struct lang_hooks_for_decls): Kill insert_block. - * langhooks-def.h (LANG_HOOKS_INSERT_BLOCK): Kill. - (LANG_HOOKS_DECLS): Remove LANG_HOOKS_INSERT_BLOCK. - - * c-tree.h (insert_block): Kill. - * c-decl.c (insert_block): Kill. + * tree-inline.c (copy_generic_body, copy_decl_no_change): Export. + (remap_block): Call id->transform_lang_insert_block instead + of langhook. + (optimize_inline_calls, unsave_expr_now, tree_function_versioning): + Set id.transform_lang_insert_block to NULL. + (clone_body): Move to cp/optimize.c + * tree-inline.h (struct copy_body_data): Change + transform_lang_insert_block to function pointer. + (copy_generic_body, copy_decl_no_change): Export. + * langhooks.h (struct lang_hooks_for_decls): Kill insert_block. + * langhooks-def.h (LANG_HOOKS_INSERT_BLOCK): Kill. + (LANG_HOOKS_DECLS): Remove LANG_HOOKS_INSERT_BLOCK. + + * c-tree.h (insert_block): Kill. + * c-decl.c (insert_block): Kill. 2008-04-03 Paolo Bonzini - * c-objc-common.h (LANG_HOOKS_FUNCTION_ENTER_NESTED, - LANG_HOOKS_FUNCTION_LEAVE_NESTED): Delete. - * c-tree.h (c_push_function_context, c_pop_function_context): Remove - argument. - * c-decl.c (c_push_function_context, c_pop_function_context): Remove - argument, call {push,pop}_function_context from here. - * c-parser.c: Use c_{push,pop}_function_context. - - * function.c (push_function_context_to): Move meat ... - (push_function_context): ... here. Simplify. - * function.c (pop_function_context_from): Move meat ... - (pop_function_context): ... here. Simplify. - * langhooks.h (struct lang_hooks_for_functions): Remove enter_nested, - leave_nested). - * langhooks-def.h (LANG_HOOKS_FUNCTION_ENTER_NESTED, - LANG_HOOKS_FUNCTION_LEAVE_NESTED): Delete. - (LANG_HOOKS_FUNCTION_INITIALIZER): Delete them from here. - * tree.h (push_function_context_to, pop_function_context_from): Remove. + * c-objc-common.h (LANG_HOOKS_FUNCTION_ENTER_NESTED, + LANG_HOOKS_FUNCTION_LEAVE_NESTED): Delete. + * c-tree.h (c_push_function_context, c_pop_function_context): Remove + argument. + * c-decl.c (c_push_function_context, c_pop_function_context): Remove + argument, call {push,pop}_function_context from here. + * c-parser.c: Use c_{push,pop}_function_context. + + * function.c (push_function_context_to): Move meat ... + (push_function_context): ... here. Simplify. + * function.c (pop_function_context_from): Move meat ... + (pop_function_context): ... here. Simplify. + * langhooks.h (struct lang_hooks_for_functions): Remove enter_nested, + leave_nested). + * langhooks-def.h (LANG_HOOKS_FUNCTION_ENTER_NESTED, + LANG_HOOKS_FUNCTION_LEAVE_NESTED): Delete. + (LANG_HOOKS_FUNCTION_INITIALIZER): Delete them from here. + * tree.h (push_function_context_to, pop_function_context_from): Remove. 2008-04-03 Ben Elliston diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index c5923a392fb..9e650b9ae14 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -8339,6 +8339,7 @@ alpha_output_mi_thunk_osf (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, final_start_function (insn, file, 1); final (insn, file, 1); final_end_function (); + free_after_compilation (cfun); } #endif /* TARGET_ABI_OSF */ diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index 270e83d3c3a..ceda8833db3 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -9694,6 +9694,7 @@ ia64_output_mi_thunk (FILE *file, tree thunk ATTRIBUTE_UNUSED, final_start_function (insn, file, 1); final (insn, file, 1); final_end_function (); + free_after_compilation (cfun); reload_completed = 0; epilogue_completed = 0; diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index 142c8aa959e..6160237ede6 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -4348,6 +4348,7 @@ m68k_output_mi_thunk (FILE *file, tree thunk ATTRIBUTE_UNUSED, /* Restore the original PIC register. */ if (flag_pic) SET_REGNO (pic_offset_table_rtx, PIC_REG); + free_after_compilation (cfun); } /* Worker function for TARGET_STRUCT_VALUE_RTX. */ diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index da8b4aa4c96..861a308ab73 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -11685,6 +11685,7 @@ mips_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, final_start_function (insn, file, 1); final (insn, file, 1); final_end_function (); + free_after_compilation (cfun); /* Clean up the vars set above. Note that final_end_function resets the global pointer for us. */ diff --git a/gcc/config/score/score3.c b/gcc/config/score/score3.c index f268cbaf2df..592f5f5a1f7 100644 --- a/gcc/config/score/score3.c +++ b/gcc/config/score/score3.c @@ -382,6 +382,7 @@ score3_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, final_start_function (insn, file, 1); final (insn, file, 1); final_end_function (); + free_after_compilation (cfun); /* Clean up the vars set above. Note that final_end_function resets the global pointer for us. */ diff --git a/gcc/config/score/score7.c b/gcc/config/score/score7.c index 34271cc36b2..3c16b0d6173 100644 --- a/gcc/config/score/score7.c +++ b/gcc/config/score/score7.c @@ -381,6 +381,7 @@ score7_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, final_start_function (insn, file, 1); final (insn, file, 1); final_end_function (); + free_after_compilation (cfun); /* Clean up the vars set above. Note that final_end_function resets the global pointer for us. */ diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index c54dbb325ac..54c81b191f4 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -8818,6 +8818,7 @@ sparc_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, final_start_function (insn, file, 1); final (insn, file, 1); final_end_function (); + free_after_compilation (cfun); reload_completed = 0; epilogue_completed = 0; -- 2.30.2