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