Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/pr62167.c @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* { dg-do compile } */ /* { dg-options "-O2 -ftree-tail-merge -fdump-tree-pre" } */ struct node { struct node *next; struct node *prev; }; struct node node; struct head { struct node *first; }; struct head heads[5]; int k = 2; struct head *head = &heads[2]; int main () { struct node *p; node.next = (void*)0; node.prev = (void *)head; asm("":"=m"(node.prev)); head->first = &node; struct node *n = head->first; struct head *h = &heads[k]; heads[2].first = n->next; if ((void*)n->prev == (void *)h) p = h->first; else /* Dead tbaa-unsafe load from ((struct node *)&heads[2])->next. */ p = n->prev->next; return !(p == (void*)0); } /* { dg-final { scan-tree-dump-not "Removing basic block" "pre"} } */