-// RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm-bc -o - %s | opt --std-compile-opts | llvm-dis > %t
-// RUN: grep "ret i32" %t | count 2
-// RUN: grep "ret i32 0" %t | count 2
+// RUN: %clang_cc1 -triple i386-unknown-unknown -O1 -emit-llvm -o - %s | FileCheck %s
+// CHECK: define i32 @f0()
+// CHECK: ret i32 0
+// CHECK: define i32 @f1()
+// CHECK: ret i32 0
+// CHECK: define i32 @f2()
+// CHECK: ret i32 0
// <rdar://problem/6113085>
struct s0 {
return x.y;
}
-#if 0
-/* Optimizer isn't smart enough to reduce this since we use
- memset. Hrm. */
int f1() {
struct s0 x[2] = { {0} };
return x[1].x;
}
-#endif
int f2() {
int x[2] = { 0 };
-// RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm-bc -o - %s | opt -std-compile-opts | llvm-dis | grep "ret i32 1" | count 3
+// RUN: %clang_cc1 -triple i386-unknown-unknown -O1 -emit-llvm -o - %s | FileCheck %s
+// CHECK: define i32 @f0
+// CHECK: ret i32 1
+// CHECK: define i32 @f1
+// CHECK: ret i32 1
+// CHECK: define i32 @f2
+// CHECK: ret i32 1
// <rdr://6115726>
int f0() {