re PR tree-optimization/33291 (a+=2; a+=2 not simplified to a+=4; with -O3 ...
[gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / ssa-pre-2.c
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-pre-stats" } */
3 int motion_test1(int data, int data_0, int data_3, int v)
4 {
5 int i;
6 int t, u;
7
8 if (data)
9 i = data_0 + data_3;
10 else {
11 v = 2;
12 i = 5;
13 }
14 t = data_0 + data_3;
15 u = i;
16 return v * t * u;
17 }
18 /* We should eliminate one computation of data_0 + data_3 along the
19 main path, and one computation of v * i along the main path, causing
20 two eliminations. */
21 /* { dg-final { scan-tree-dump-times "Eliminated: 2" 1 "pre"} } */
22 /* { dg-final { cleanup-tree-dump "pre" } } */