diff options
-rw-r--r-- | gcc/ChangeLog | 23 | ||||
-rw-r--r-- | gcc/except.c | 15 |
2 files changed, 26 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c0ad64a4ed9..602d00216d3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-04-13 Adam Nemet <anemet@caviumnetworks.com> + + * except.c (pass_set_nothrow_function_flags): Set name and add + TODO_dump_func. + (set_nothrow_function_flags): Mention in the dump file when + changing a function to nothrow. + 2009-04-13 Ozkan Sezer <sezeroz@gmail.com> PR/39066 @@ -6,18 +13,18 @@ 2009-04-13 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> - * config/arm/arm.c (return_used_this_function): Remove. - (arm_output_function_prologue): Remove use of + * config/arm/arm.c (return_used_this_function): Remove. + (arm_output_function_prologue): Remove use of return_used_this_function. - (output_return_instruction): Replace use of + (output_return_instruction): Replace use of return_used_this_function by cfun->machine->return_used_this_function. - (arm_output_epilogue): Likewise. - (arm_output_function_epilogue): Likewise. - (thumb_unexpanded_epilogue): Likewise. - * config/arm/arm.h (struct machine_function): + (arm_output_epilogue): Likewise. + (arm_output_function_epilogue): Likewise. + (thumb_unexpanded_epilogue): Likewise. + * config/arm/arm.h (struct machine_function): New member return_used_this_function. - + 2009-04-12 Mark Mitchell <mark@codesourcery.com> * doc/install.texi: Correct description of default directory for diff --git a/gcc/except.c b/gcc/except.c index 889dd617603..37bc5bbf13c 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -2972,9 +2972,16 @@ set_nothrow_function_flags (void) } } if (crtl->nothrow - && (cgraph_function_body_availability (cgraph_node (current_function_decl)) + && (cgraph_function_body_availability (cgraph_node + (current_function_decl)) >= AVAIL_AVAILABLE)) - TREE_NOTHROW (current_function_decl) = 1; + { + TREE_NOTHROW (current_function_decl) = 1; + + if (dump_file) + fprintf (dump_file, "Marking function nothrow: %s\n\n", + current_function_name ()); + } return 0; } @@ -2982,7 +2989,7 @@ struct rtl_opt_pass pass_set_nothrow_function_flags = { { RTL_PASS, - NULL, /* name */ + "nothrow", /* name */ NULL, /* gate */ set_nothrow_function_flags, /* execute */ NULL, /* sub */ @@ -2993,7 +3000,7 @@ struct rtl_opt_pass pass_set_nothrow_function_flags = 0, /* properties_provided */ 0, /* properties_destroyed */ 0, /* todo_flags_start */ - 0, /* todo_flags_finish */ + TODO_dump_func, /* todo_flags_finish */ } }; |