diff options
Diffstat (limited to 'gcc/passes.def')
-rw-r--r-- | gcc/passes.def | 54 |
1 files changed, 31 insertions, 23 deletions
diff --git a/gcc/passes.def b/gcc/passes.def index 43ce3d5f1bf..a6dae769121 100644 --- a/gcc/passes.def +++ b/gcc/passes.def @@ -1,5 +1,5 @@ /* Description of pass structure - Copyright (C) 1987-2015 Free Software Foundation, Inc. + Copyright (C) 1987-2016 Free Software Foundation, Inc. This file is part of GCC. @@ -88,24 +88,7 @@ along with GCC; see the file COPYING3. If not see /* pass_build_ealias is a dummy pass that ensures that we execute TODO_rebuild_alias at this point. */ NEXT_PASS (pass_build_ealias); - /* Pass group that runs when the function is an offloaded function - containing oacc kernels loops. Part 1. */ - NEXT_PASS (pass_oacc_kernels); - PUSH_INSERT_PASSES_WITHIN (pass_oacc_kernels) - NEXT_PASS (pass_ch); - POP_INSERT_PASSES () NEXT_PASS (pass_fre); - /* Pass group that runs when the function is an offloaded function - containing oacc kernels loops. Part 2. */ - NEXT_PASS (pass_oacc_kernels2); - PUSH_INSERT_PASSES_WITHIN (pass_oacc_kernels2) - /* We use pass_lim to rewrite in-memory iteration and reduction - variable accesses in loops into local variables accesses. */ - NEXT_PASS (pass_lim); - NEXT_PASS (pass_dominator, false /* may_peel_loop_headers_p */); - NEXT_PASS (pass_dce); - NEXT_PASS (pass_expand_omp_ssa); - POP_INSERT_PASSES () NEXT_PASS (pass_merge_phi); NEXT_PASS (pass_dse); NEXT_PASS (pass_cd_dce); @@ -124,6 +107,30 @@ along with GCC; see the file COPYING3. If not see NEXT_PASS (pass_rebuild_cgraph_edges); NEXT_PASS (pass_inline_parameters); POP_INSERT_PASSES () + + NEXT_PASS (pass_ipa_oacc); + PUSH_INSERT_PASSES_WITHIN (pass_ipa_oacc) + NEXT_PASS (pass_ipa_pta); + /* Pass group that runs when the function is an offloaded function + containing oacc kernels loops. */ + NEXT_PASS (pass_ipa_oacc_kernels); + PUSH_INSERT_PASSES_WITHIN (pass_ipa_oacc_kernels) + NEXT_PASS (pass_oacc_kernels); + PUSH_INSERT_PASSES_WITHIN (pass_oacc_kernels) + NEXT_PASS (pass_ch); + NEXT_PASS (pass_fre); + /* We use pass_lim to rewrite in-memory iteration and reduction + variable accesses in loops into local variables accesses. */ + NEXT_PASS (pass_lim); + NEXT_PASS (pass_dominator, false /* may_peel_loop_headers_p */); + NEXT_PASS (pass_dce); + NEXT_PASS (pass_parallelize_loops, true /* oacc_kernels_p */); + NEXT_PASS (pass_expand_omp_ssa); + NEXT_PASS (pass_rebuild_cgraph_edges); + POP_INSERT_PASSES () + POP_INSERT_PASSES () + POP_INSERT_PASSES () + NEXT_PASS (pass_ipa_chkp_produce_thunks); NEXT_PASS (pass_ipa_auto_profile); NEXT_PASS (pass_ipa_free_inline_summary); @@ -144,6 +151,7 @@ along with GCC; see the file COPYING3. If not see NEXT_PASS (pass_ipa_cp); NEXT_PASS (pass_ipa_cdtor_merge); NEXT_PASS (pass_target_clone); + NEXT_PASS (pass_ipa_hsa); NEXT_PASS (pass_ipa_inline); NEXT_PASS (pass_ipa_pure_const); NEXT_PASS (pass_ipa_reference); @@ -170,6 +178,7 @@ along with GCC; see the file COPYING3. If not see NEXT_PASS (pass_fixup_cfg); NEXT_PASS (pass_lower_eh_dispatch); NEXT_PASS (pass_oacc_device_lower); + NEXT_PASS (pass_omp_target_link); NEXT_PASS (pass_all_optimizations); PUSH_INSERT_PASSES_WITHIN (pass_all_optimizations) NEXT_PASS (pass_remove_cgraph_callee_edges); @@ -264,10 +273,8 @@ along with GCC; see the file COPYING3. If not see NEXT_PASS (pass_dce); POP_INSERT_PASSES () NEXT_PASS (pass_iv_canon); - NEXT_PASS (pass_parallelize_loops); - PUSH_INSERT_PASSES_WITHIN (pass_parallelize_loops) - NEXT_PASS (pass_expand_omp_ssa); - POP_INSERT_PASSES () + NEXT_PASS (pass_parallelize_loops, false /* oacc_kernels_p */); + NEXT_PASS (pass_expand_omp_ssa); NEXT_PASS (pass_ch_vect); NEXT_PASS (pass_if_conversion); /* pass_vectorize must immediately follow pass_if_conversion. @@ -294,10 +301,10 @@ along with GCC; see the file COPYING3. If not see POP_INSERT_PASSES () NEXT_PASS (pass_simduid_cleanup); NEXT_PASS (pass_lower_vector_ssa); - NEXT_PASS (pass_split_paths); NEXT_PASS (pass_cse_reciprocals); NEXT_PASS (pass_reassoc, false /* insert_powi_p */); NEXT_PASS (pass_strength_reduction); + NEXT_PASS (pass_split_paths); NEXT_PASS (pass_tracer); NEXT_PASS (pass_dominator, false /* may_peel_loop_headers_p */); NEXT_PASS (pass_strlen); @@ -380,6 +387,7 @@ along with GCC; see the file COPYING3. If not see NEXT_PASS (pass_nrv); NEXT_PASS (pass_cleanup_cfg_post_optimizing); NEXT_PASS (pass_warn_function_noreturn); + NEXT_PASS (pass_gen_hsail); NEXT_PASS (pass_expand); |