diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-07 06:05:11 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-07 06:05:11 +0000 |
commit | ebebeee379dd8b985e6877e56bc124041907038b (patch) | |
tree | 32a2ce6c6b8ce5f11172be301cb81225d5d5cbac /gcc/passes.c | |
parent | 588bbfff28d00a54a71f2d751fb75767b6b1b3cb (diff) | |
download | gcc-ebebeee379dd8b985e6877e56bc124041907038b.tar.gz |
2009-04-07 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r145646
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@145649 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/gcc/passes.c b/gcc/passes.c index 552488ef3bf..f73b4e85f9e 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -549,7 +549,6 @@ init_optimization_passes (void) NEXT_PASS (pass_expand_omp); NEXT_PASS (pass_referenced_vars); - NEXT_PASS (pass_reset_cc_flags); NEXT_PASS (pass_build_ssa); NEXT_PASS (pass_early_warn_uninitialized); NEXT_PASS (pass_all_early_optimizations); @@ -566,7 +565,6 @@ init_optimization_passes (void) NEXT_PASS (pass_copy_prop); NEXT_PASS (pass_merge_phi); NEXT_PASS (pass_cd_dce); - NEXT_PASS (pass_simple_dse); NEXT_PASS (pass_tail_recursion); NEXT_PASS (pass_convert_switch); @@ -966,7 +964,7 @@ execute_function_todo (void *data) SSA form to become out-of-date (see PR 22037). So, even if the parent pass had not scheduled an SSA update, we may still need to do one. */ - if (!(flags & TODO_update_ssa_any) && need_ssa_update_p ()) + if (!(flags & TODO_update_ssa_any) && need_ssa_update_p (cfun)) flags |= TODO_update_ssa; } @@ -977,8 +975,13 @@ execute_function_todo (void *data) cfun->last_verified &= ~TODO_verify_ssa; } + if (flags & TODO_update_address_taken) + execute_update_addresses_taken (true); + if (flags & TODO_rebuild_alias) { + if (!(flags & TODO_update_address_taken)) + execute_update_addresses_taken (true); compute_may_aliases (); cfun->curr_properties |= PROP_alias; } @@ -1050,7 +1053,8 @@ static void execute_todo (unsigned int flags) { #if defined ENABLE_CHECKING - if (need_ssa_update_p ()) + if (cfun + && need_ssa_update_p (cfun)) gcc_assert (flags & TODO_update_ssa_any); #endif @@ -1298,6 +1302,8 @@ execute_one_pass (struct opt_pass *pass) This is a hack until the new folder is ready. */ in_gimple_form = (cfun && (cfun->curr_properties & PROP_trees)) != 0; + initializing_dump = pass_init_dump_file (pass); + /* Run pre-pass verification. */ execute_todo (pass->todo_flags_start); |