(summarize_insn): Fix three "off-by-one" bugs in loop bounds.
authorRichard Kenner <kenner@gcc.gnu.org>
Thu, 28 Mar 1996 23:45:41 +0000 (18:45 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Thu, 28 Mar 1996 23:45:41 +0000 (18:45 -0500)
From-SVN: r11627

gcc/config/alpha/alpha.c

index 8f19cc0441d52223ffe1081b8c8d14f5adbb53d1..abe0e16b82346f9ea3e62098aae10bd97414b1a1 100644 (file)
@@ -1937,7 +1937,7 @@ summarize_insn (x, sum, set)
       break;
 
     case PARALLEL:
-      for (i = XVECLEN (x, 0); i >= 0; i--)
+      for (i = XVECLEN (x, 0) - 1; i >= 0; i--)
        summarize_insn (XVECEXP (x, 0, i), sum, 0);
       break;
 
@@ -2004,7 +2004,7 @@ summarize_insn (x, sum, set)
 
     default:
       format_ptr = GET_RTX_FORMAT (GET_CODE (x));
-      for (i = GET_RTX_LENGTH (GET_CODE (x)); i >= 0; i--)
+      for (i = GET_RTX_LENGTH (GET_CODE (x)) - 1; i >= 0; i--)
        switch (format_ptr[i])
          {
          case 'e':
@@ -2012,7 +2012,7 @@ summarize_insn (x, sum, set)
            break;
 
          case 'E':
-           for (j = XVECLEN (x, i); j >= 0; j--)
+           for (j = XVECLEN (x, i) - 1; j >= 0; j--)
              summarize_insn (XVECEXP (x, i, j), sum, 0);
            break;