OSDN Git Service

PR bootstrap/43403
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 18 Mar 2010 20:17:32 +0000 (20:17 +0000)
committerMasaki Muranaka <monaka@monami-software.com>
Sun, 23 May 2010 05:13:22 +0000 (14:13 +0900)
* var-tracking.c (vt_init_cfa_base): Do nothing if
cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed
register.

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

gcc/ChangeLog
gcc/var-tracking.c

index 0679700..3ffe01a 100644 (file)
@@ -1,3 +1,10 @@
+2010-03-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/43403
+       * var-tracking.c (vt_init_cfa_base): Do nothing if
+       cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed
+       register.
+
 2010-03-18  Alexandre Oliva  <aoliva@redhat.com>
 
        PR debug/42873
 2010-03-18  Alexandre Oliva  <aoliva@redhat.com>
 
        PR debug/42873
index cec6a80..255e87f 100644 (file)
@@ -8015,6 +8015,12 @@ vt_init_cfa_base (void)
 #else
   cfa_base_rtx = arg_pointer_rtx;
 #endif
 #else
   cfa_base_rtx = arg_pointer_rtx;
 #endif
+  if (cfa_base_rtx == hard_frame_pointer_rtx
+      || !fixed_regs[REGNO (cfa_base_rtx)])
+    {
+      cfa_base_rtx = NULL_RTX;
+      return;
+    }
   if (!MAY_HAVE_DEBUG_INSNS)
     return;
 
   if (!MAY_HAVE_DEBUG_INSNS)
     return;