1 // RUN: %clang_cc1 -S -emit-llvm -o - -O2 -disable-llvm-passes %s | FileCheck %s --implicit-check-not="call void @llvm.lifetime" --check-prefixes=CHECK,O2
2 // RUN: %clang_cc1 -S -emit-llvm -o - -O2 -disable-lifetime-markers %s | FileCheck %s --implicit-check-not="call void @llvm.lifetime" --check-prefixes=CHECK
3 // RUN: %clang_cc1 -S -emit-llvm -o - -O0 %s | FileCheck %s --implicit-check-not="call void @llvm.lifetime" --check-prefixes=CHECK
5 extern int bar(char *A
, int n
);
7 // CHECK-LABEL: @no_switch_bypass
8 extern "C" void no_switch_bypass(int n
) {
9 // O2: call void @llvm.lifetime.start.p0(i64 4,
10 switch (n
+= 1; int b
=n
) {
12 // O2: call void @llvm.lifetime.start.p0(i64 1,
13 // O2: call void @llvm.lifetime.end.p0(i64 1,
20 // O2: call void @llvm.lifetime.start.p0(i64 5,
21 // O2: call void @llvm.lifetime.end.p0(i64 5,
26 // O2: call void @llvm.lifetime.end.p0(i64 4,
29 // CHECK-LABEL: @switch_bypass
30 extern "C" void switch_bypass(int n
) {
31 // O2: call void @llvm.lifetime.start.p0(i64 4,
32 // O2: call void @llvm.lifetime.end.p0(i64 4,
33 switch (n
+= 1; int b
=n
) {