Hello Vladimir,
  This patch fixes a trivial bug of SMS: distance1_uses needs to be
initialized if newly allocated.
  Since the original author of SMS is not active for a very long time,
it would be nice if you can apply it for me : )
  Thanks.

Index: gcc/ChangeLog
===================================================================
--- gcc/ChangeLog    (revision 206279)
+++ gcc/ChangeLog    (working copy)
@@ -1,3 +1,8 @@
+2013-01-02  Felix Yang  <fei.yang0...@gmail.com>
+
+    * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
+    is newly allocated.
+
 2013-01-01  Jan-Benedict Glaw  <jbg...@lug-owl.de>

     * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
Index: gcc/modulo-sched.c
===================================================================
--- gcc/modulo-sched.c    (revision 206279)
+++ gcc/modulo-sched.c    (working copy)
@@ -766,6 +766,9 @@ schedule_reg_moves (partial_schedule_ptr ps)

       distance1_uses = distances[1] ? sbitmap_alloc (g->num_nodes) : NULL;

+      if (distance1_uses)
+        bitmap_clear (distance1_uses);
+
       /* Every use of the register defined by node may require a different
      copy of this register, depending on the time the use is scheduled.
      Record which uses require which move results.  */


Cheers,
Felix

Reply via email to