Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / CodeGen / instrument-objc-method.m
blob82457beb94a325b8f938a3b93436a95eb84706b1
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
4 @interface ObjCClass
5 @end
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
14 + (void)initialize {
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
34 @end