1 /* { dg-do compile } */
2 /* { dg-options "-O2 -ftree-tail-merge -fdump-tree-pre" } */
3
4 /* Different stmt order. */
5
f(int c,int b,int d)6 int f(int c, int b, int d)
7 {
8 int r, r2, e;
9
10 if (c)
11 {
12 r = b + d;
13 r2 = d - b;
14 }
15 else
16 {
17 r2 = d - b;
18 e = d + b;
19 r = e;
20 }
21
22 return r - r2;
23 }
24
25 /* { dg-final { scan-tree-dump-times "if " 0 "pre"} } */
26 /* { dg-final { scan-tree-dump-times "(?n)_.*\\+.*_" 1 "pre"} } */
27 /* { dg-final { scan-tree-dump-times "(?n)_.*-.*_" 2 "pre"} } */
28 /* { dg-final { scan-tree-dump-not "Invalid sum" "pre"} } */
29