diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2012-10-29 19:37:25 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2012-10-29 19:37:25 +0000 |
commit | 36290bb4d5ca29006aaa97d5c1778594dec4ae22 (patch) | |
tree | 61c42a2207ad84c2050e304acaab60dea05d4f7d /gcc | |
parent | 61dc0ea735b12329bcb88eeb1e11255f86b295f7 (diff) | |
download | gcc-36290bb4d5ca29006aaa97d5c1778594dec4ae22.zip gcc-36290bb4d5ca29006aaa97d5c1778594dec4ae22.tar.gz gcc-36290bb4d5ca29006aaa97d5c1778594dec4ae22.tar.bz2 |
re PR debug/54693 (VTA guality issues with loops)
PR debug/54693
* gcc/valtrack.c (dead_debug_insert_temp): Defer rescan of
newly-emitted debug insn.
From-SVN: r192962
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/valtrack.c | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 491128e..0b2a3be 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,6 +1,12 @@ 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 * tree-ssa-threadedge.c (thread_around_empty_block): Copy debug temps from predecessor before threading. diff --git a/gcc/valtrack.c b/gcc/valtrack.c index f6c0db4..8cc3269 100644 --- a/gcc/valtrack.c +++ b/gcc/valtrack.c @@ -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); |