Patchwork [SMS] Fix a potential bug of schedule_reg_moves of SMS

login
register
mail settings
Submitter Felix Yang
Date Jan. 2, 2014, 1:07 p.m.
Message ID <CAFc0fxwRLZTKCawviEz2tHxELRsJiKnTqZFW-PKeomLWE3B-xA@mail.gmail.com>
Download mbox | patch
Permalink /patch/306125/
State New
Headers show

Comments

Felix Yang - Jan. 2, 2014, 1:07 p.m.
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.



Cheers,
Felix
Felix Yang - Jan. 5, 2014, 11:36 a.m.
Ping ?

Cheers,
Felix


On Thu, Jan 2, 2014 at 9:07 PM, Felix Yang <fei.yang0953@gmail.com> wrote:
> 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.yang0953@gmail.com>
> +
> +    * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
> +    is newly allocated.
> +
>  2013-01-01  Jan-Benedict Glaw  <jbglaw@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

Patch

Index: gcc/ChangeLog
===================================================================
--- gcc/ChangeLog    (revision 206279)
+++ gcc/ChangeLog    (working copy)
@@ -1,3 +1,8 @@ 
+2013-01-02  Felix Yang  <fei.yang0953@gmail.com>
+
+    * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
+    is newly allocated.
+
 2013-01-01  Jan-Benedict Glaw  <jbglaw@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.  */