]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR debug/52983 (internal compiler error: in df_uses_record, at df-scan.c:3243)
authorAlexandre Oliva <aoliva@redhat.com>
Thu, 2 Aug 2012 00:34:41 +0000 (00:34 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Thu, 2 Aug 2012 00:34:41 +0000 (00:34 +0000)
PR debug/52983
* valtrack.c (dead_debug_insert_temp): Use cleanup_auto_inc_dec.

From-SVN: r190063

gcc/ChangeLog
gcc/valtrack.c

index 631f2eeb1c35d64bc49a7791df7dfa3355a552ab..f0026f2e5d82b00885aa92940aeeff21f78ddcc5 100644 (file)
@@ -1,3 +1,8 @@
+2012-08-01  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/52983
+       * valtrack.c (dead_debug_insert_temp): Use cleanup_auto_inc_dec.
+
 2012-08-01  Alexandre Oliva  <aoliva@redhat.com>
 
        PR debug/52983
index 9119cb96744f016e94ebeb6846897019452b088e..72c49889c96d1858f7ca3d96b473f4f71ee0a724 100644 (file)
@@ -388,7 +388,7 @@ dead_debug_insert_temp (struct dead_debug *debug, unsigned int uregno,
        breg = NULL;
       /* Cool, it's the same REG, we can use SRC.  */
       else if (dest == reg)
-       breg = copy_rtx (src);
+       breg = cleanup_auto_inc_dec (src, VOIDmode);
       else if (REG_P (dest))
        {
          /* Hmm...  Something's fishy, we should be setting REG here.  */
@@ -406,7 +406,8 @@ dead_debug_insert_temp (struct dead_debug *debug, unsigned int uregno,
          /* Ok, it's the same (hardware) REG, but with a different
             mode, so SUBREG it.  */
          else
-           breg = lowpart_subreg (GET_MODE (reg), copy_rtx (src),
+           breg = lowpart_subreg (GET_MODE (reg),
+                                  cleanup_auto_inc_dec (src, VOIDmode),
                                   GET_MODE (dest));
        }
       else if (GET_CODE (dest) == SUBREG)
@@ -427,7 +428,8 @@ dead_debug_insert_temp (struct dead_debug *debug, unsigned int uregno,
            breg = NULL;
          /* Yay, we can use SRC, just adjust its mode.  */
          else
-           breg = lowpart_subreg (GET_MODE (reg), copy_rtx (src),
+           breg = lowpart_subreg (GET_MODE (reg),
+                                  cleanup_auto_inc_dec (src, VOIDmode),
                                   GET_MODE (dest));
        }
       /* Oh well, we're out of luck.  */