// RUN: %clang_cc1 -emit-llvm -o - -O2 -disable-llvm-passes %s      | FileCheck %s --implicit-check-not="call void @llvm.lifetime" --check-prefixes=CHECK,O2
// RUN: %clang_cc1 -emit-llvm -o - -O2 -disable-lifetime-markers %s | FileCheck %s --implicit-check-not="call void @llvm.lifetime" --check-prefixes=CHECK
// RUN: %clang_cc1 -emit-llvm -o - -O0 %s                           | FileCheck %s --implicit-check-not="call void @llvm.lifetime" --check-prefixes=CHECK 

extern int bar(char *A, int n);

// CHECK-LABEL: @no_switch_bypass
extern "C" void no_switch_bypass(int n) {
  // O2: call void @llvm.lifetime.start.p0(
  switch (n += 1; int b=n) {
  case 1: {
    // O2: call void @llvm.lifetime.start.p0(
    // O2: call void @llvm.lifetime.end.p0(
    char x;
    bar(&x, 1);
    break;
  }
  case 2:
    n = n;
    // O2: call void @llvm.lifetime.start.p0(
    // O2: call void @llvm.lifetime.end.p0(
    char y[5];
    bar(y, 5);
    break;
  }
  // O2: call void @llvm.lifetime.end.p0(
}

// CHECK-LABEL: @switch_bypass
extern "C" void switch_bypass(int n) {
  // O2: call void @llvm.lifetime.start.p0(
  // O2: call void @llvm.lifetime.end.p0(
  switch (n += 1; int b=n) {
  case 1:
    n = n;
    char x;
    bar(&x, 1);
    break;
  case 2:
    bar(&x, 1);
    break;
  }
}
