]> gcc.gnu.org Git - gcc.git/commitdiff
Add missing phi args in create_parallel_loop
authorTom de Vries <tom@codesourcery.com>
Mon, 11 Jan 2016 12:08:38 +0000 (12:08 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Mon, 11 Jan 2016 12:08:38 +0000 (12:08 +0000)
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

gcc/ChangeLog
gcc/tree-parloops.c

index 0e7202b6e4eb970fc0f99c9b9b41cf430710f32f..5124d694aaacaab366a78da6ab5acc472c636cd6 100644 (file)
@@ -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
index 5afaaf8af13a6a5730a7059987e713ce76d94465..46d70ac56c1ec09e1d1c01b43315bdbbc779adf7 100644 (file)
@@ -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));
This page took 2.904353 seconds and 5 git commands to generate.