1*67e74705SXin Li // RUN: %clang -S -emit-llvm -o - -O0 %s | FileCheck %s -check-prefix=O0 2*67e74705SXin Li // RUN: %clang -S -emit-llvm -o - -O1 %s | FileCheck %s -check-prefix=O1 3*67e74705SXin Li // RUN: %clang -S -emit-llvm -o - -O2 %s | FileCheck %s -check-prefix=O2 4*67e74705SXin Li // RUN: %clang -S -emit-llvm -o - -O3 %s | FileCheck %s -check-prefix=O3 5*67e74705SXin Li 6*67e74705SXin Li extern void use(char *a); 7*67e74705SXin Li helper_no_markers()8*67e74705SXin Li__attribute__((always_inline)) void helper_no_markers() { 9*67e74705SXin Li char a; 10*67e74705SXin Li use(&a); 11*67e74705SXin Li } 12*67e74705SXin Li lifetime_test()13*67e74705SXin Livoid lifetime_test() { 14*67e74705SXin Li // O0: lifetime_test 15*67e74705SXin Li // O1: lifetime_test 16*67e74705SXin Li // O2: lifetime_test 17*67e74705SXin Li // O3: lifetime_test 18*67e74705SXin Li // O0-NOT: @llvm.lifetime.start 19*67e74705SXin Li // O1: @llvm.lifetime.start 20*67e74705SXin Li // O2: @llvm.lifetime.start 21*67e74705SXin Li // O3: @llvm.lifetime.start 22*67e74705SXin Li helper_no_markers(); 23*67e74705SXin Li } 24