/* { dg-do compile } */ | |
/* { dg-options "-O2 -fdump-tree-sink-stats" } */ | |
/* LLVM LOCAL test not applicable */ | |
/* { dg-require-fdump "" } */ | |
extern void foo(int a); | |
int | |
main (int argc) | |
{ | |
int a; | |
a = argc + 1; | |
if (argc + 3) | |
{ | |
foo (a); | |
} | |
} | |
/* We should sink the a = argc + 1 calculation into the if branch */ | |
/* { dg-final { scan-tree-dump-times "Sunk statements:1" 1 "sink" } } */ | |
/* { dg-final { cleanup-tree-dump "sink" } } */ |