aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/branch-on-bool.c
blob: 78dae1b1fd78c7b22e38c21b570d7023f97fc380 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// RUN: %clang %s -O0 -emit-llvm -S -o - | FileCheck %s

void foo();
void bar();

void fold_if(int a, int b) {
  // CHECK: define {{.*}} @fold_if(
  // CHECK-NOT: = phi
  // CHECK: }
  if (a && b)
    foo();
  else
    bar();
}

void fold_for(int a, int b) {
  // CHECK: define {{.*}} @fold_for(
  // CHECK-NOT: = phi
  // CHECK: }
  for (int i = 0; a && i < b; ++i) foo();
  for (int i = 0; a || i < b; ++i) bar();
}