summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr46130-2.c
blob: 991e5dd18353e7717dba5fcafd5a69f3eb62b018 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/* PR tree-optimization/46130 */
/* { dg-do compile } */
/* { dg-options "-O2 -fno-tree-dce" } */

extern int bar (int);

static int foo (int x)
{
  int z, w;
  if (x <= 1024)
    {
      z = 16;
      w = 17;
    }
  else
    {
      bar (bar (bar (bar (bar (bar (bar (bar (bar (16)))))))));
      if (x > 131072)
	w = 19;
      else
	w = 21;
      z = 32;
    }
  w = w + 121;
  return z;
}

int
baz (int x)
{
  return foo (x + 6) + foo (x + 15) + foo (x + 24);
}