29 lines
608 B
C
29 lines
608 B
C
/* { dg-do compile } */
|
|
/* { dg-options "-O1 -fdump-tree-dom1" } */
|
|
|
|
typedef struct edge_def
|
|
{
|
|
int z;
|
|
} *edge;
|
|
typedef struct basic_block_def
|
|
{
|
|
edge pred;
|
|
} *basic_block;
|
|
extern struct basic_block_def entry_exit_blocks[2];
|
|
void
|
|
blah (int arf)
|
|
{
|
|
edge e;
|
|
e = (&entry_exit_blocks[1])->pred;
|
|
for ( ; ;)
|
|
if (arf)
|
|
break;
|
|
commit_edge_insertions ();
|
|
e = (&entry_exit_blocks[1])->pred;
|
|
foo (e);
|
|
}
|
|
|
|
/* There should be one load from entry_exit_blocks[1].pred. */
|
|
/* { dg-final { scan-tree-dump-times "entry_exit_blocks.1..pred" 1 "dom1"} } */
|
|
/* { dg-final { cleanup-tree-dump "dom1" } } */
|