aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-101.c
blob: c67f211dcf6306dc24eed2a8e79e53a0f10118e7 (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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/* { dg-do compile } */
/* { dg-options "-O -fdump-tree-fre1-details" } */

int test1 (int i, int j)
{
  int k;
  if (i != j)
    k = i;
  else
    k = j;
  return k;
}

int test2 (int i, int j)
{
  int k;
  if (i != j)
    k = j;
  else
    k = i;
  return k;
}

int test3 (int i, int j)
{
  int k;
  if (i == j)
    k = j;
  else
    k = i;
  return k;
}

int test4 (int i, int j)
{
  int k;
  if (i == j)
    k = i;
  else
    k = j;
  return k;
}

/* We'd expect 4 hits but since we only keep one forwarder the
   VN predication machinery cannot record something for the entry
   block since it doesn't work on edges but on their source.  */
/* { dg-final { scan-tree-dump-times "equal on edge" 2 "fre1" } } */