1 /* { dg-do run } */
2 /* { dg-options "-O -fno-tree-fre -fdump-tree-dom2" } */
3
4 extern void abort (void);
5
6 int a;
7 int __attribute__((noinline))
foo(int b)8 foo (int b)
9 {
10 a = 0;
11 if (b)
12 {
13 a = 1;
14 return a;
15 }
16 /* DOM should be able to CSE both loads here, forwarding 0 and 1
17 to the PHI feeding the return. */
18 return a;
19 }
20
21 int
main()22 main()
23 {
24 if (foo (0) != 0
25 || foo (1) != 1)
26 abort ();
27 return 0;
28 }
29
30 /* { dg-final { scan-tree-dump "= PHI <\[01\]\\\(.\\\), \[01\]\\\(.\\\)>" "dom2" } } */
31