1 // RUN: %clang_cc1 -S -triple x86_64-apple-darwin10 -debug-info-kind=standalone -emit-llvm -o - %s -finstrument-functions | FileCheck %s
2 // RUN: %clang_cc1 -S -triple x86_64-apple-darwin10 -debug-info-kind=standalone -emit-llvm -o - %s -finstrument-function-entry-bare | FileCheck -check-prefix=BARE %s
7 @implementation ObjCClass
9 // CHECK: @"\01+[ObjCClass initialize]"
10 // CHECK: call void @__cyg_profile_func_enter
11 // CHECK: call void @__cyg_profile_func_exit
12 // BARE: @"\01+[ObjCClass initialize]"
13 // BARE: call void @__cyg_profile_func_enter
17 // CHECK: @"\01+[ObjCClass load]"
18 // CHECK-NOT: call void @__cyg_profile_func_enter
19 // BARE: @"\01+[ObjCClass load]"
20 // BARE-NOT: call void @__cyg_profile_func_enter
21 + (void)load __attribute__((no_instrument_function)) {
24 // CHECK: @"\01-[ObjCClass dealloc]"
25 // CHECK-NOT: call void @__cyg_profile_func_enter
26 // BARE: @"\01-[ObjCClass dealloc]"
27 // BARE-NOT: call void @__cyg_profile_func_enter
28 - (void)dealloc __attribute__((no_instrument_function)) {
31 // CHECK: declare void @__cyg_profile_func_enter(ptr, ptr)
32 // CHECK: declare void @__cyg_profile_func_exit(ptr, ptr)
33 // BARE: declare void @__cyg_profile_func_enter_bare