diff options
Diffstat (limited to 'gcc/passes.def')
-rw-r--r-- | gcc/passes.def | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gcc/passes.def b/gcc/passes.def index d528a04..c870170 100644 --- a/gcc/passes.def +++ b/gcc/passes.def @@ -83,7 +83,7 @@ along with GCC; see the file COPYING3. If not see NEXT_PASS (pass_ccp, false /* nonzero_p */); /* After CCP we rewrite no longer addressed locals into SSA form if possible. */ - NEXT_PASS (pass_forwprop, /*last=*/false); + NEXT_PASS (pass_forwprop, /*full_walk=*/true); NEXT_PASS (pass_early_thread_jumps, /*first=*/true); NEXT_PASS (pass_sra_early); /* pass_build_ealias is a dummy pass that ensures that we @@ -97,10 +97,12 @@ along with GCC; see the file COPYING3. If not see NEXT_PASS (pass_dse); NEXT_PASS (pass_cd_dce, false /* update_address_taken_p */, true /* remove_unused_locals */); NEXT_PASS (pass_phiopt, true /* early_p */); + /* Cleanup eh is done before tail recusision to remove empty (only clobbers) + finally blocks which would block tail recursion. */ + NEXT_PASS (pass_cleanup_eh); NEXT_PASS (pass_tail_recursion); NEXT_PASS (pass_if_to_switch); NEXT_PASS (pass_convert_switch); - NEXT_PASS (pass_cleanup_eh); NEXT_PASS (pass_sccopy); NEXT_PASS (pass_profile); NEXT_PASS (pass_local_pure_const); @@ -221,7 +223,7 @@ along with GCC; see the file COPYING3. If not see NEXT_PASS (pass_complete_unrolli); NEXT_PASS (pass_backprop); NEXT_PASS (pass_phiprop); - NEXT_PASS (pass_forwprop, /*last=*/false); + NEXT_PASS (pass_forwprop, /*full_walk=*/true); /* pass_build_alias is a dummy pass that ensures that we execute TODO_rebuild_alias at this point. */ NEXT_PASS (pass_build_alias); @@ -261,7 +263,7 @@ along with GCC; see the file COPYING3. If not see NEXT_PASS (pass_isolate_erroneous_paths); NEXT_PASS (pass_reassoc, true /* early_p */); NEXT_PASS (pass_dce); - NEXT_PASS (pass_forwprop, /*last=*/false); + NEXT_PASS (pass_forwprop); NEXT_PASS (pass_phiopt, false /* early_p */); NEXT_PASS (pass_ccp, true /* nonzero_p */); /* After CCP we rewrite no longer addressed locals into SSA @@ -363,7 +365,7 @@ along with GCC; see the file COPYING3. If not see NEXT_PASS (pass_dce, true /* update_address_taken_p */, true /* remove_unused_locals */); /* After late DCE we rewrite no longer addressed locals into SSA form if possible. */ - NEXT_PASS (pass_forwprop, /*last=*/true); + NEXT_PASS (pass_forwprop, /*full_walk=*/false, /*last=*/true); NEXT_PASS (pass_sink_code, true /* unsplit edges */); NEXT_PASS (pass_phiopt, false /* early_p */); NEXT_PASS (pass_fold_builtins); |