branch-on-bool.c revision 7170e354b9999cd3d19459f3b902287b6b329e6f
1// RUN: %clang %s -O0 -emit-llvm -S -o - | FileCheck %s
2
3void foo();
4void bar();
5
6void fold_if(int a, int b) {
7  // CHECK: define {{.*}} @fold_if(
8  // CHECK-NOT: = phi
9  // CHECK: }
10  if (a && b)
11    foo();
12  else
13    bar();
14}
15
16void fold_for(int a, int b) {
17  // CHECK: define {{.*}} @fold_for(
18  // CHECK-NOT: = phi
19  // CHECK: }
20  for (int i = 0; a && i < b; ++i) foo();
21  for (int i = 0; a || i < b; ++i) bar();
22}
23