re PR debug/36980 (Bootstrap broken with RTL checking on i586)
authorH.J. Lu <hongjiu.lu@intel.com>
Thu, 31 Jul 2008 15:32:51 +0000 (15:32 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Thu, 31 Jul 2008 15:32:51 +0000 (08:32 -0700)
2008-07-31  H.J. Lu  <hongjiu.lu@intel.com>

PR debug/36980
* dwarf2out.c (dwarf2out_frame_debug_expr): Move rule 17 before
rule 19.

From-SVN: r138424

gcc/ChangeLog
gcc/dwarf2out.c

index e293cc5..2b13a5d 100644 (file)
@@ -1,5 +1,11 @@
 2008-07-31  H.J. Lu  <hongjiu.lu@intel.com>
 
+       PR debug/36980
+       * dwarf2out.c (dwarf2out_frame_debug_expr): Move rule 17 before
+       rule 19.
+
+2008-07-31  H.J. Lu  <hongjiu.lu@intel.com>
+
        PR debug/36976
        * dwarf2out.c (dwarf2out_args_size_adjust): New.
        (dwarf2out_stack_adjust): Use it.
index 888ac99..2fc23a5 100644 (file)
@@ -2024,6 +2024,13 @@ dwarf2out_frame_debug_expr (rtx expr, const char *label)
          gcc_unreachable ();
        }
 
+        /* Rule 17 */
+        /* If the source operand of this MEM operation is not a
+          register, basically the source is return address.  Here
+          we only care how much stack grew and we don't save it.  */
+      if (!REG_P (src))
+        break;
+
       if (REGNO (src) != STACK_POINTER_REGNUM
          && REGNO (src) != HARD_FRAME_POINTER_REGNUM
          && (unsigned) REGNO (src) == cfa.reg)
@@ -2082,12 +2089,6 @@ dwarf2out_frame_debug_expr (rtx expr, const char *label)
              break;
            }
        }
-        /* Rule 17 */
-        /* If the source operand of this MEM operation is not a
-          register, basically the source is return address.  Here
-          we only care how much stack grew and we don't save it.  */
-      if (!REG_P (src))
-        break;
 
       def_cfa_1 (label, &cfa);
       {