]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR debug/54693
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Oct 2012 19:37:25 +0000 (19:37 +0000)
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Oct 2012 19:37:25 +0000 (19:37 +0000)
* gcc/valtrack.c (dead_debug_insert_temp): Defer rescan of
newly-emitted debug insn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192962 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/valtrack.c

index 491128e1aa74fdba8da2b6f3d755576b861a9fd3..0b2a3be3225220bf006c15ec1bc0483432446fd7 100644 (file)
@@ -1,3 +1,9 @@
+2012-10-29  Alexandre Oliva <aoliva@redhat.com>
+
+       PR debug/54693
+       * gcc/valtrack.c (dead_debug_insert_temp): Defer rescan of
+       newly-emitted debug insn.
+
 2012-10-29  Alexandre Oliva <aoliva@redhat.com>
 
        PR debug/54693
index f6c0db473bbe90eb077110e64145a44f16b15a17..8cc326900ed6078c9690e1b4da3bf61f41637a3c 100644 (file)
@@ -688,7 +688,9 @@ dead_debug_insert_temp (struct dead_debug_local *debug, unsigned int uregno,
     bind = emit_debug_insn_after (bind, insn);
   else
     bind = emit_debug_insn_before (bind, insn);
-  df_insn_rescan (bind);
+  if (debug->to_rescan == NULL)
+    debug->to_rescan = BITMAP_ALLOC (NULL);
+  bitmap_set_bit (debug->to_rescan, INSN_UID (bind));
 
   /* Adjust all uses.  */
   while ((cur = uses))
@@ -699,8 +701,6 @@ dead_debug_insert_temp (struct dead_debug_local *debug, unsigned int uregno,
        *DF_REF_REAL_LOC (cur->use)
          = gen_lowpart_SUBREG (GET_MODE (*DF_REF_REAL_LOC (cur->use)), dval);
       /* ??? Should we simplify subreg of subreg?  */
-      if (debug->to_rescan == NULL)
-       debug->to_rescan = BITMAP_ALLOC (NULL);
       bitmap_set_bit (debug->to_rescan, INSN_UID (DF_REF_INSN (cur->use)));
       uses = cur->next;
       XDELETE (cur);