Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-31.c @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line source
/* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-pre -fno-ipa-sra" } */ typedef struct { unsigned int key; } S; typedef struct s1 { unsigned int key; unsigned int bits; struct s1 *left, *right; }S1; extern S a[1024]; static inline int bar( S* p, S1* n ) { S1 *curr; S1 *next; if ( n->left == n ) return (int)(p->key == n->key); curr = n; next = n->left; while (curr->bits > next->bits ) { curr = next; if (p->key & (1 << curr->bits)) next = curr->right; else next = curr->left; } return (int)(p->key == next->key); } int foo (S1 *root, int N) { volatile int r; int i,j; for (i=0; i<N; i++) for (j=0;j<1024; j++) r = bar(&a[j], root); return 0; } /* { dg-final { scan-tree-dump-times "key" 3 "pre" } } */