aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTom de Vries <tom@codesourcery.com>2015-07-16 11:51:28 +0000
committerTom de Vries <vries@gcc.gnu.org>2015-07-16 11:51:28 +0000
commit79855460bdf36dff2eb97a726475e3f1a4eb5331 (patch)
tree0608e9a3cfd39f902eaf2633efbc76ee0794b626 /gcc
parentef3b59ace9400afc4beba51f7ca91a1dfcc3ca38 (diff)
downloadgcc-79855460bdf36dff2eb97a726475e3f1a4eb5331.zip
gcc-79855460bdf36dff2eb97a726475e3f1a4eb5331.tar.gz
gcc-79855460bdf36dff2eb97a726475e3f1a4eb5331.tar.bz2
Handle unused reduction in create_loads_for_reductions
2015-07-16 Tom de Vries <tom@codesourcery.com> * tree-parloops.c (create_loads_for_reductions): Handle case that reduction is unused. From-SVN: r225872
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-parloops.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1d5434c..cfdf5e7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2015-07-16 Tom de Vries <tom@codesourcery.com>
+
+ * tree-parloops.c (create_loads_for_reductions): Handle case that
+ reduction is unused.
+
2015-07-16 Richard Biener <rguenther@suse.de>
PR tree-optimization/66894
diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c
index 036677b..2390d9e 100644
--- a/gcc/tree-parloops.c
+++ b/gcc/tree-parloops.c
@@ -1145,6 +1145,10 @@ create_loads_for_reductions (reduction_info **slot, struct clsn_data *clsn_data)
tree name;
tree x;
+ /* If there's no exit phi, the result of the reduction is unused. */
+ if (red->keep_res == NULL)
+ return 1;
+
gsi = gsi_after_labels (clsn_data->load_bb);
load_struct = build_simple_mem_ref (clsn_data->load);
load_struct = build3 (COMPONENT_REF, type, load_struct, red->field,