/* { dg-additional-options "-O3" } */
#include <limits.h>
-unsigned __attribute__ ((noinline))
+unsigned __attribute__ ((noipa))
foo (int *__restrict__ a, int *__restrict__ b, unsigned l, unsigned n)
{
while (n < ++l)
return l;
}
-unsigned __attribute__ ((noinline))
+unsigned __attribute__ ((noipa))
foo_1 (int *__restrict__ a, int *__restrict__ b, unsigned l, unsigned)
{
while (UINT_MAX - 64 < ++l)
return l;
}
-unsigned __attribute__ ((noinline))
+unsigned __attribute__ ((noipa))
foo_2 (int *__restrict__ a, int *__restrict__ b, unsigned l, unsigned n)
{
l = UINT_MAX - 32;
return l;
}
-unsigned __attribute__ ((noinline))
+unsigned __attribute__ ((noipa))
foo_3 (int *__restrict__ a, int *__restrict__ b, unsigned l, unsigned n)
{
while (n <= ++l)
return l;
}
-unsigned __attribute__ ((noinline))
+unsigned __attribute__ ((noipa))
foo_4 (int *__restrict__ a, int *__restrict__ b, unsigned l, unsigned n)
{ // infininate
while (0 <= ++l)
return l;
}
-unsigned __attribute__ ((noinline))
+unsigned __attribute__ ((noipa))
foo_5 (int *__restrict__ a, int *__restrict__ b, unsigned l, unsigned n)
{
//no loop
return l;
}
-unsigned __attribute__ ((noinline))
+unsigned __attribute__ ((noipa))
bar (int *__restrict__ a, int *__restrict__ b, unsigned l, unsigned n)
{
while (--l < n)
return l;
}
-unsigned __attribute__ ((noinline))
+unsigned __attribute__ ((noipa))
bar_1 (int *__restrict__ a, int *__restrict__ b, unsigned l, unsigned)
{
while (--l < 64)
return l;
}
-unsigned __attribute__ ((noinline))
+unsigned __attribute__ ((noipa))
bar_2 (int *__restrict__ a, int *__restrict__ b, unsigned l, unsigned n)
{
l = 32;