diff options
author | vries <vries@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-11 12:08:38 +0000 |
---|---|---|
committer | vries <vries@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-11 12:08:38 +0000 |
commit | 07d36511d061fdfe41d79d66f56285ef919c079a (patch) | |
tree | 985ff6fe1b185ce6ff7337064352fac12777bbf6 | |
parent | bd8bece26eb4840f887f3d66ce075cb808efae90 (diff) | |
download | gcc-07d36511d061fdfe41d79d66f56285ef919c079a.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232221 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-parloops.c | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0e7202b6e4e..5124d694aaa 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 5afaaf8af13..46d70ac56c1 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)); |