tree-ssa-threadupdate.c (thread_block_1): Remove unnecessary restriction on threading...
authorRichard Biener <rguenther@suse.de>
Fri, 5 Aug 2016 08:00:00 +0000 (08:00 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 5 Aug 2016 08:00:00 +0000 (08:00 +0000)
2016-08-05  Richard Biener  <rguenther@suse.de>

* tree-ssa-threadupdate.c (thread_block_1): Remove unnecessary
restriction on threading to a loop header.

From-SVN: r239164

gcc/ChangeLog
gcc/tree-ssa-threadupdate.c

index be93f5b9ca84e1c6ce2b411b7fa12bfb26c964a1..bc49ac2bfa00d123723da3764a57c93c4dfd7050 100644 (file)
@@ -1,3 +1,8 @@
+2016-08-05  Richard Biener  <rguenther@suse.de>
+
+       * tree-ssa-threadupdate.c (thread_block_1): Remove unnecessary
+       restriction on threading to a loop header.
+
 2016-08-05  Richard Biener  <rguenther@suse.de>
 
        * tree-cfgcleanup.c (tree_forwarder_block_p): Use bb_loop_header_p.
index 1ff007a495a1c3c9e504ac11b12bcc81013089a6..66d919c95ce5462cb1f7d6af92b3499e36829f68 100644 (file)
@@ -1531,10 +1531,8 @@ thread_block_1 (basic_block bb, bool noloop_only, bool joiners)
             threading path that crosses loop boundaries.  We do not try
             and thread this elsewhere, so just cancel the jump threading
             request by clearing the AUX field now.  */
-         if ((bb->loop_father != e2->src->loop_father
-              && !loop_exit_edge_p (e2->src->loop_father, e2))
-             || (e2->src->loop_father != e2->dest->loop_father
-                 && !loop_exit_edge_p (e2->src->loop_father, e2)))
+         if (bb->loop_father != e2->src->loop_father
+             && !loop_exit_edge_p (e2->src->loop_father, e2))
            {
              /* Since this case is not handled by our special code
                 to thread through a loop header, we must explicitly