+Thu Aug 17 13:20:32 EDT 2000 John Wehle (john@feith.com)
+
+ * rtlanal.c (rtx_unstable_p): Use CONSTANT_P.
+ (rtx_unstable_p, rtx_varies_p): Process vectors.
+
2000-08-16 Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>
* config/sh/lib1funcs.asm (GLOBAL): Define. Use for all
if (code == QUEUED)
return 1;
- if (code == CONST || code == CONST_INT)
+ if (CONSTANT_P (x))
return 0;
if (code == REG)
fmt = GET_RTX_FORMAT (code);
for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
if (fmt[i] == 'e')
- if (rtx_unstable_p (XEXP (x, i)))
- return 1;
+ {
+ if (rtx_unstable_p (XEXP (x, i)))
+ return 1;
+ }
+ else if (fmt[i] == 'E')
+ {
+ int j;
+ for (j = 0; j < XVECLEN (x, i); j++)
+ if (rtx_unstable_p (XVECEXP (x, i, j)))
+ return 1;
+ }
+
return 0;
}
fmt = GET_RTX_FORMAT (code);
for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
if (fmt[i] == 'e')
- if (rtx_varies_p (XEXP (x, i)))
- return 1;
+ {
+ if (rtx_varies_p (XEXP (x, i)))
+ return 1;
+ }
+ else if (fmt[i] == 'E')
+ {
+ int j;
+ for (j = 0; j < XVECLEN (x, i); j++)
+ if (rtx_varies_p (XVECEXP (x, i, j)))
+ return 1;
+ }
+
return 0;
}