diff options
author | J"orn Rennecke <joern.rennecke@st.com> | 2009-08-09 17:50:53 +0000 |
---|---|---|
committer | J"orn Rennecke <joern.rennecke@st.com> | 2009-08-09 17:50:53 +0000 |
commit | b5123c1462e2a64314254bb1efbd6f47efc43662 (patch) | |
tree | 92935e6fb160cc3f8f6efd1b127ada2060064dd8 | |
parent | 28d432119710c66d4a296f1d5065e76c94056b5a (diff) |
* tree-parloops.c (compute_reduction_results): Create empty block
for reduction loads.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/milepost-integration@150593 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog.multi-target | 3 | ||||
-rw-r--r-- | gcc/tree-parloops.c | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog.multi-target b/gcc/ChangeLog.multi-target index b0ec03b6f84..1f7107e3d50 100644 --- a/gcc/ChangeLog.multi-target +++ b/gcc/ChangeLog.multi-target @@ -11,6 +11,9 @@ * tree-parloops.c (create_call_for_reduction_1): If the reduction is for a vector type, set the DECL_GIMPLE_REG_P of tmp_load. + * tree-parloops.c (compute_reduction_results): Create empty block + for reduction loads. + 2009-08-07 J"orn Rennecke <joern.rennecke@arc.com> * tree-parloops.c (struct reduction_info): New member keep_res_name. diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c index 0606e5a3e16..811c1a94e5e 100644 --- a/gcc/tree-parloops.c +++ b/gcc/tree-parloops.c @@ -1674,6 +1674,9 @@ compute_reduction_results (struct loop *loop, htab_t reduction_list) gsi_next (&gsi); } gcc_assert (control_name != NULL_TREE); + /* Create an empty block where the reduction loads can be placed - + before any phis from joins with paths skipping the loop. */ + split_edge (single_dom_exit (loop)); return control_name; } |