URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [ipa/] [pure-const-2.c] - Rev 689
Compare with Previous | Blame | View Log
/* { dg-do compile } */ /* { dg-options "-O3 -fdump-tree-local-pure-const1 -fdump-tree-optimized" } */ static __attribute__ ((noinline, noclone)) int i_am_pure(char *c, int n) { char *d=__builtin_alloca (n); int i; int sum; for (i=0;i<n;i++) d[i] = c[i]; for (i=0;i<n;i++) d[i] *= c[n-i]; for (i=0;i<n;i++) sum+=d[i]; if (sum) __builtin_unreachable (); return sum; } char array[11]; int main(void) { i_am_pure (array,5); i_am_pure (array,11); return 0; } /* { dg-final { scan-tree-dump "found to be pure: i_am_pure" "local-pure-const1"} } */ /* { dg-final { scan-tree-dump-not "i_am_pure" "optimized"} } */ /* { dg-final { cleanup-tree-dump "local-pure-const1" } } */ /* { dg-final { cleanup-tree-dump "optimized" } } */