Commit 27916b83 by Richard Sandiford Committed by Richard Henderson

re PR rtl-optimization/13299 (Unsafe treatment of extended givs)

        PR rtl-opt/13299
        * loop.c (get_monotonic_increment, biased_biv_fits_mode_p,
        biv_fits_mode_p, extension_within_bounds_p): New functions.
        (check_ext_dependent_givs): Use them.

From-SVN: r93000
parent 4ab80063
2005-01-06 Richard Sandiford <rsandifo@redhat.com>
PR rtl-opt/13299
* loop.c (get_monotonic_increment, biased_biv_fits_mode_p,
biv_fits_mode_p, extension_within_bounds_p): New functions.
(check_ext_dependent_givs): Use them.
2005-01-06 Roger Sayle <roger@eyesopen.com>
* cfgrtl.c (rtl_delete_block): A basic block may be followed by
......
/* "i" overflows in f(). Check that x[i] is not treated as a giv. */
#include <limits.h>
#if CHAR_BIT == 8
void f (unsigned int *x)
{
unsigned char i;
int j;
i = 0x10;
for (j = 0; j < 0x10; j++)
{
i += 0xe8;
x[i] = 0;
i -= 0xe7;
}
}
int main ()
{
unsigned int x[256];
int i;
for (i = 0; i < 256; i++)
x[i] = 1;
f (x);
for (i = 0; i < 256; i++)
if (x[i] != (i >= 0x08 && i < 0xf8))
abort ();
exit (0);
}
#else
int main () { exit (0); }
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment