diff options
author | Razya Ladelsky <razya@il.ibm.com> | 2007-01-10 10:21:50 +0000 |
---|---|---|
committer | Razya Ladelsky <razya@gcc.gnu.org> | 2007-01-10 10:21:50 +0000 |
commit | 3e87758a6b02a16a11d670c4c00dce09661dd084 (patch) | |
tree | 033712e9795d7747396d5e1f15d66beefe6a1139 /gcc/tree-inline.c | |
parent | 9b718f81fd2014633e4e21eb30e9aca9370a7bdf (diff) | |
download | gcc-3e87758a6b02a16a11d670c4c00dce09661dd084.zip gcc-3e87758a6b02a16a11d670c4c00dce09661dd084.tar.gz gcc-3e87758a6b02a16a11d670c4c00dce09661dd084.tar.bz2 |
function.c (get_last_funcdef_no): New function.
2007-01-10 Razya Ladelsky <razya@il.ibm.com>
* function.c (get_last_funcdef_no): New function.
* function.h (get_last_funcdef_no): Declare.
* tree-inline.c (initialize_cfun): Add initialization.
(tree_function_versioning): Cleanup.
From-SVN: r120638
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r-- | gcc/tree-inline.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 1e9a244..3775585 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -1080,6 +1080,7 @@ initialize_cfun (tree new_fndecl, tree callee_fndecl, gcov_type count, /* Register specific tree functions. */ tree_register_cfg_hooks (); *new_cfun = *DECL_STRUCT_FUNCTION (callee_fndecl); + new_cfun->funcdef_no = get_next_funcdef_no (); VALUE_HISTOGRAMS (new_cfun) = NULL; new_cfun->unexpanded_var_list = NULL; new_cfun->cfg = NULL; @@ -3303,7 +3304,13 @@ tree_function_versioning (tree old_decl, tree new_decl, varray_type tree_map, fold_cond_expr_cond (); if (gimple_in_ssa_p (cfun)) { + free_dominance_info (CDI_DOMINATORS); + free_dominance_info (CDI_POST_DOMINATORS); + delete_unreachable_blocks (); update_ssa (TODO_update_ssa); + fold_cond_expr_cond (); + if (need_ssa_update_p ()) + update_ssa (TODO_update_ssa); } free_dominance_info (CDI_DOMINATORS); free_dominance_info (CDI_POST_DOMINATORS); |