aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTom de Vries <tom@codesourcery.com>2016-01-11 12:08:38 +0000
committerTom de Vries <vries@gcc.gnu.org>2016-01-11 12:08:38 +0000
commit1c5211b13cb66b65f92a8289d221e2c3f4a3dfe2 (patch)
tree985ff6fe1b185ce6ff7337064352fac12777bbf6 /gcc
parentca90b1ed9ac7e9aaacb3ef0eb055d2f594d30493 (diff)
downloadgcc-1c5211b13cb66b65f92a8289d221e2c3f4a3dfe2.zip
gcc-1c5211b13cb66b65f92a8289d221e2c3f4a3dfe2.tar.gz
gcc-1c5211b13cb66b65f92a8289d221e2c3f4a3dfe2.tar.bz2
Add missing phi args in create_parallel_loop
2016-01-11 Tom de Vries <tom@codesourcery.com> PR tree-optimization/69069 * tree-parloops.c (create_parallel_loop): Add missing phi args. From-SVN: r232221
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-parloops.c7
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0e7202b..5124d69 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2016-01-11 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/69069
+ * tree-parloops.c (create_parallel_loop): Add missing phi args.
+
2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com>
PR rtl-optimization/68920
diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c
index 5afaaf8..46d70ac 100644
--- a/gcc/tree-parloops.c
+++ b/gcc/tree-parloops.c
@@ -2086,7 +2086,12 @@ create_parallel_loop (struct loop *loop, tree loop_fn, tree data,
value is not modified in the loop, and we're done with this phi. */
if (!(gimple_code (def_stmt) == GIMPLE_PHI
&& gimple_bb (def_stmt) == loop->header))
- continue;
+ {
+ locus = gimple_phi_arg_location_from_edge (phi, exit);
+ add_phi_arg (phi, def, guard, locus);
+ add_phi_arg (phi, def, end, locus);
+ continue;
+ }
gphi *stmt = as_a <gphi *> (def_stmt);
def = PHI_ARG_DEF_FROM_EDGE (stmt, loop_preheader_edge (loop));