fix bootstrap without ISL on old linkers
authorAditya Kumar <aditya.k7@samsung.com>
Thu, 19 Nov 2015 20:35:12 +0000 (20:35 +0000)
committerSebastian Pop <spop@gcc.gnu.org>
Thu, 19 Nov 2015 20:35:12 +0000 (20:35 +0000)
With and without this patch passes bootstrap on x86_64-linux with and without ISL.
The problem occurs on systems with older linkers that do not remove dead symbols.

From-SVN: r230625

gcc/ChangeLog
gcc/graphite-isl-ast-to-gimple.c
gcc/sese.c
gcc/sese.h

index 096b069..cf75f44 100644 (file)
@@ -1,3 +1,10 @@
+2015-11-19  Aditya Kumar  <aditya.k7@samsung.com>
+
+       * graphite-isl-ast-to-gimple.c (get_true_edge_from_guard_bb): Move...
+       (get_false_edge_from_guard_bb): Move...
+       * sese.c (get_false_edge_from_guard_bb)
+       (get_true_edge_from_guard_bb): ... here.
+
 2015-11-19  David Edelsohn  <dje.gcc@gmail.com>
 
        Revert
index 3e0907d..e84f738 100644 (file)
@@ -1125,38 +1125,6 @@ translate_isl_ast_to_gimple::translate_isl_ast (loop_p context_loop,
     }
 }
 
-/* Returns the first successor edge of BB with EDGE_TRUE_VALUE flag set.  */
-
-edge
-get_true_edge_from_guard_bb (basic_block bb)
-{
-  edge e;
-  edge_iterator ei;
-
-  FOR_EACH_EDGE (e, ei, bb->succs)
-    if (e->flags & EDGE_TRUE_VALUE)
-      return e;
-
-  gcc_unreachable ();
-  return NULL;
-}
-
-/* Returns the first successor edge of BB with EDGE_TRUE_VALUE flag cleared.  */
-
-edge
-get_false_edge_from_guard_bb (basic_block bb)
-{
-  edge e;
-  edge_iterator ei;
-
-  FOR_EACH_EDGE (e, ei, bb->succs)
-    if (!(e->flags & EDGE_TRUE_VALUE))
-      return e;
-
-  gcc_unreachable ();
-  return NULL;
-}
-
 /* Return true when BB contains loop close phi nodes.  A loop close phi node is
    at the exit of loop which takes one argument that is the last value of the
    variable being used out of the loop.  */
index 94fcc11..b5da428 100644 (file)
@@ -355,6 +355,38 @@ outermost_loop_in_sese (sese_l &region, basic_block bb)
   return nest;
 }
 
+/* Returns the first successor edge of BB with EDGE_TRUE_VALUE flag set.  */
+
+edge
+get_true_edge_from_guard_bb (basic_block bb)
+{
+  edge e;
+  edge_iterator ei;
+
+  FOR_EACH_EDGE (e, ei, bb->succs)
+    if (e->flags & EDGE_TRUE_VALUE)
+      return e;
+
+  gcc_unreachable ();
+  return NULL;
+}
+
+/* Returns the first successor edge of BB with EDGE_TRUE_VALUE flag cleared.  */
+
+edge
+get_false_edge_from_guard_bb (basic_block bb)
+{
+  edge e;
+  edge_iterator ei;
+
+  FOR_EACH_EDGE (e, ei, bb->succs)
+    if (!(e->flags & EDGE_TRUE_VALUE))
+      return e;
+
+  gcc_unreachable ();
+  return NULL;
+}
+
 /* Sets the false region of an IF_REGION to REGION.  */
 
 void
index c3d4c9a..626a077 100644 (file)
@@ -236,9 +236,9 @@ typedef struct ifsese_s {
 
 extern void if_region_set_false_region (ifsese, sese_info_p);
 extern ifsese move_sese_in_condition (sese_info_p);
+extern void set_ifsese_condition (ifsese, tree);
 extern edge get_true_edge_from_guard_bb (basic_block);
 extern edge get_false_edge_from_guard_bb (basic_block);
-extern void set_ifsese_condition (ifsese, tree);
 
 static inline edge
 if_region_entry (ifsese if_region)