From b5123c1462e2a64314254bb1efbd6f47efc43662 Mon Sep 17 00:00:00 2001 From: "J\"orn Rennecke" Date: Sun, 9 Aug 2009 17:50:53 +0000 Subject: * 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 --- gcc/ChangeLog.multi-target | 3 +++ gcc/tree-parloops.c | 3 +++ 2 files changed, 6 insertions(+) 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 * 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; } -- cgit v1.2.3