summaryrefslogtreecommitdiff
path: root/gcc/passes.def
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/passes.def')
-rw-r--r--gcc/passes.def54
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);