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 e293cc5ec021ca02f05e1035cc528ea52ce2cc72..2b13a5ddf7af7b88a39e389d3d3d4bd67e92b1a9 100644 (file)
@@ -1,3 +1,9 @@
+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
index 888ac99d187c8ab50e35bab56c3c1277332530f0..2fc23a5206b8721acabc3522873fbd039d6fe16f 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);
       {