forked from OSchip/llvm-project
[PGO] make profile prefix even shorter and more readable
llvm-svn: 255587
This commit is contained in:
parent
c7018a25c6
commit
ddbdb1e0be
|
@ -9,4 +9,4 @@ int main(void) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// CHECK: @__llvm_coverage_mapping = internal constant { i32, i32, i32, i32, [2 x <{ i8*, i32, i32, i64 }>], [{{[0-9]+}} x i8] } { i32 2, i32 {{[0-9]+}}, i32 {{[0-9]+}}, i32 0, [2 x <{ i8*, i32, i32, i64 }>] [<{ i8*, i32, i32, i64 }> <{ i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__prf_nm_foo, i32 0, i32 0), i32 3, i32 9, i64 {{[0-9]+}} }>, <{ i8*, i32, i32, i64 }> <{ i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__prf_nm_main, i32 0, i32 0), i32 4, i32 9, i64 {{[0-9]+}} }>]
|
// CHECK: @__llvm_coverage_mapping = internal constant { i32, i32, i32, i32, [2 x <{ i8*, i32, i32, i64 }>], [{{[0-9]+}} x i8] } { i32 2, i32 {{[0-9]+}}, i32 {{[0-9]+}}, i32 0, [2 x <{ i8*, i32, i32, i64 }>] [<{ i8*, i32, i32, i64 }> <{ i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__profn_foo, i32 0, i32 0), i32 3, i32 9, i64 {{[0-9]+}} }>, <{ i8*, i32, i32, i64 }> <{ i8* getelementptr inbounds ([4 x i8], [4 x i8]* @__profn_main, i32 0, i32 0), i32 4, i32 9, i64 {{[0-9]+}} }>]
|
||||||
|
|
|
@ -4,11 +4,11 @@
|
||||||
|
|
||||||
// Since foo is never emitted, there should not be a profile name for it.
|
// Since foo is never emitted, there should not be a profile name for it.
|
||||||
|
|
||||||
// CHECK-DAG: @__prf_nm_bar = {{.*}} [3 x i8] c"bar", section "{{.*}}__llvm_prf_names"
|
// CHECK-DAG: @__profn_bar = {{.*}} [3 x i8] c"bar", section "{{.*}}__llvm_prf_names"
|
||||||
// CHECK-DAG: @__prf_nm_baz = {{.*}} [3 x i8] c"baz", section "{{.*}}__llvm_prf_names"
|
// CHECK-DAG: @__profn_baz = {{.*}} [3 x i8] c"baz", section "{{.*}}__llvm_prf_names"
|
||||||
// CHECK-DAG: @__prf_nm_unused_names.c_qux = {{.*}} [18 x i8] c"unused_names.c:qux", section "{{.*}}__llvm_prf_names"
|
// CHECK-DAG: @__profn_unused_names.c_qux = {{.*}} [18 x i8] c"unused_names.c:qux", section "{{.*}}__llvm_prf_names"
|
||||||
|
|
||||||
// SYSHEADER-NOT: @__prf_nm_foo =
|
// SYSHEADER-NOT: @__profn_foo =
|
||||||
|
|
||||||
|
|
||||||
#ifdef IS_SYSHEADER
|
#ifdef IS_SYSHEADER
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
// RUN: llvm-profdata merge %S/Inputs/c-captured.proftext -o %t.profdata
|
// RUN: llvm-profdata merge %S/Inputs/c-captured.proftext -o %t.profdata
|
||||||
// RUN: %clang_cc1 -triple x86_64-apple-macosx10.9 -main-file-name c-captured.c %s -o - -emit-llvm -fprofile-instr-use=%t.profdata | FileCheck -check-prefix=PGOUSE -check-prefix=PGOALL %s
|
// RUN: %clang_cc1 -triple x86_64-apple-macosx10.9 -main-file-name c-captured.c %s -o - -emit-llvm -fprofile-instr-use=%t.profdata | FileCheck -check-prefix=PGOUSE -check-prefix=PGOALL %s
|
||||||
|
|
||||||
// PGOGEN: @[[DCC:__prf_cn_debug_captured]] = private global [3 x i64] zeroinitializer
|
// PGOGEN: @[[DCC:__profc_debug_captured]] = private global [3 x i64] zeroinitializer
|
||||||
// PGOGEN: @[[CSC:__prf_cn_c_captured.c___captured_stmt]] = private global [2 x i64] zeroinitializer
|
// PGOGEN: @[[CSC:__profc_c_captured.c___captured_stmt]] = private global [2 x i64] zeroinitializer
|
||||||
// PGOGEN: @[[C1C:__prf_cn_c_captured.c___captured_stmt.1]] = private global [3 x i64] zeroinitializer
|
// PGOGEN: @[[C1C:__profc_c_captured.c___captured_stmt.1]] = private global [3 x i64] zeroinitializer
|
||||||
|
|
||||||
// PGOALL-LABEL: define void @debug_captured()
|
// PGOALL-LABEL: define void @debug_captured()
|
||||||
// PGOGEN: store {{.*}} @[[DCC]], i64 0, i64 0
|
// PGOGEN: store {{.*}} @[[DCC]], i64 0, i64 0
|
||||||
|
|
|
@ -8,18 +8,18 @@
|
||||||
// Also check compatibility with older profiles.
|
// Also check compatibility with older profiles.
|
||||||
// RUN: %clang_cc1 -triple x86_64-apple-macosx10.9 -main-file-name c-general.c %s -o - -emit-llvm -fprofile-instr-use=%S/Inputs/c-general.profdata.v1 | FileCheck -check-prefix=PGOUSE %s
|
// RUN: %clang_cc1 -triple x86_64-apple-macosx10.9 -main-file-name c-general.c %s -o - -emit-llvm -fprofile-instr-use=%S/Inputs/c-general.profdata.v1 | FileCheck -check-prefix=PGOUSE %s
|
||||||
|
|
||||||
// PGOGEN: @[[SLC:__prf_cn_simple_loops]] = private global [4 x i64] zeroinitializer
|
// PGOGEN: @[[SLC:__profc_simple_loops]] = private global [4 x i64] zeroinitializer
|
||||||
// PGOGEN: @[[IFC:__prf_cn_conditionals]] = private global [11 x i64] zeroinitializer
|
// PGOGEN: @[[IFC:__profc_conditionals]] = private global [11 x i64] zeroinitializer
|
||||||
// PGOGEN: @[[EEC:__prf_cn_early_exits]] = private global [9 x i64] zeroinitializer
|
// PGOGEN: @[[EEC:__profc_early_exits]] = private global [9 x i64] zeroinitializer
|
||||||
// PGOGEN: @[[JMC:__prf_cn_jumps]] = private global [22 x i64] zeroinitializer
|
// PGOGEN: @[[JMC:__profc_jumps]] = private global [22 x i64] zeroinitializer
|
||||||
// PGOGEN: @[[SWC:__prf_cn_switches]] = private global [19 x i64] zeroinitializer
|
// PGOGEN: @[[SWC:__profc_switches]] = private global [19 x i64] zeroinitializer
|
||||||
// PGOGEN: @[[BSC:__prf_cn_big_switch]] = private global [17 x i64] zeroinitializer
|
// PGOGEN: @[[BSC:__profc_big_switch]] = private global [17 x i64] zeroinitializer
|
||||||
// PGOGEN: @[[BOC:__prf_cn_boolean_operators]] = private global [8 x i64] zeroinitializer
|
// PGOGEN: @[[BOC:__profc_boolean_operators]] = private global [8 x i64] zeroinitializer
|
||||||
// PGOGEN: @[[BLC:__prf_cn_boolop_loops]] = private global [9 x i64] zeroinitializer
|
// PGOGEN: @[[BLC:__profc_boolop_loops]] = private global [9 x i64] zeroinitializer
|
||||||
// PGOGEN: @[[COC:__prf_cn_conditional_operator]] = private global [3 x i64] zeroinitializer
|
// PGOGEN: @[[COC:__profc_conditional_operator]] = private global [3 x i64] zeroinitializer
|
||||||
// PGOGEN: @[[DFC:__prf_cn_do_fallthrough]] = private global [4 x i64] zeroinitializer
|
// PGOGEN: @[[DFC:__profc_do_fallthrough]] = private global [4 x i64] zeroinitializer
|
||||||
// PGOGEN: @[[MAC:__prf_cn_main]] = private global [1 x i64] zeroinitializer
|
// PGOGEN: @[[MAC:__profc_main]] = private global [1 x i64] zeroinitializer
|
||||||
// PGOGEN: @[[STC:__prf_cn_c_general.c_static_func]] = private global [2 x i64] zeroinitializer
|
// PGOGEN: @[[STC:__profc_c_general.c_static_func]] = private global [2 x i64] zeroinitializer
|
||||||
|
|
||||||
// PGOGEN-LABEL: @simple_loops()
|
// PGOGEN-LABEL: @simple_loops()
|
||||||
// PGOUSE-LABEL: @simple_loops()
|
// PGOUSE-LABEL: @simple_loops()
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
// get thrown out.
|
// get thrown out.
|
||||||
// RUN: %clang_cc1 -O2 -triple x86_64-apple-macosx10.9 -main-file-name c-linkage-available_externally.c %s -o - -emit-llvm -fprofile-instr-generate | FileCheck %s
|
// RUN: %clang_cc1 -O2 -triple x86_64-apple-macosx10.9 -main-file-name c-linkage-available_externally.c %s -o - -emit-llvm -fprofile-instr-generate | FileCheck %s
|
||||||
|
|
||||||
// CHECK: @__prf_nm_foo = linkonce_odr hidden constant [3 x i8] c"foo", section "__DATA,__llvm_prf_names", align 1
|
// CHECK: @__profn_foo = linkonce_odr hidden constant [3 x i8] c"foo", section "__DATA,__llvm_prf_names", align 1
|
||||||
|
|
||||||
// CHECK: @__prf_cn_foo = linkonce_odr hidden global [1 x i64] zeroinitializer, section "__DATA,__llvm_prf_cnts", align 8
|
// CHECK: @__profc_foo = linkonce_odr hidden global [1 x i64] zeroinitializer, section "__DATA,__llvm_prf_cnts", align 8
|
||||||
// CHECK: @__prf_dt_foo = linkonce_odr hidden global { i32, i32, i64, i8*, i64*, i8*, i8*, [1 x i16] } { i32 3, i32 1, i64 0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__prf_nm_foo, i32 0, i32 0), i64* getelementptr inbounds ([1 x i64], [1 x i64]* @__prf_cn_foo, i32 0, i32 0), i8* null, i8* null, [1 x i16] zeroinitializer }, section "__DATA,__llvm_prf_data", align 8
|
// CHECK: @__profd_foo = linkonce_odr hidden global { i32, i32, i64, i8*, i64*, i8*, i8*, [1 x i16] } { i32 3, i32 1, i64 0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__profn_foo, i32 0, i32 0), i64* getelementptr inbounds ([1 x i64], [1 x i64]* @__profc_foo, i32 0, i32 0), i8* null, i8* null, [1 x i16] zeroinitializer }, section "__DATA,__llvm_prf_data", align 8
|
||||||
inline int foo(void) { return 1; }
|
inline int foo(void) { return 1; }
|
||||||
|
|
||||||
int main(void) {
|
int main(void) {
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
// Check that the profiling names we create have the linkage we expect
|
// Check that the profiling names we create have the linkage we expect
|
||||||
// RUN: %clang_cc1 -triple x86_64-apple-macosx10.9 -main-file-name c-linkage.c %s -o - -emit-llvm -fprofile-instr-generate | FileCheck %s
|
// RUN: %clang_cc1 -triple x86_64-apple-macosx10.9 -main-file-name c-linkage.c %s -o - -emit-llvm -fprofile-instr-generate | FileCheck %s
|
||||||
|
|
||||||
// CHECK: @__prf_nm_foo = private constant [3 x i8] c"foo"
|
// CHECK: @__profn_foo = private constant [3 x i8] c"foo"
|
||||||
// CHECK: @__prf_nm_foo_weak = weak hidden constant [8 x i8] c"foo_weak"
|
// CHECK: @__profn_foo_weak = weak hidden constant [8 x i8] c"foo_weak"
|
||||||
// CHECK: @__prf_nm_main = private constant [4 x i8] c"main"
|
// CHECK: @__profn_main = private constant [4 x i8] c"main"
|
||||||
// CHECK: @__prf_nm_c_linkage.c_foo_internal = private constant [24 x i8] c"c-linkage.c:foo_internal"
|
// CHECK: @__profn_c_linkage.c_foo_internal = private constant [24 x i8] c"c-linkage.c:foo_internal"
|
||||||
|
|
||||||
void foo(void) { }
|
void foo(void) { }
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// RUN: %clang_cc1 -O3 -triple x86_64-apple-macosx10.10 -main-file-name c-unreachable-after-switch.c %s -o - -emit-llvm -fprofile-instr-generate | FileCheck %s
|
// RUN: %clang_cc1 -O3 -triple x86_64-apple-macosx10.10 -main-file-name c-unreachable-after-switch.c %s -o - -emit-llvm -fprofile-instr-generate | FileCheck %s
|
||||||
|
|
||||||
// CHECK: @[[C:__prf_cn_foo]] = private global [3 x i64] zeroinitializer
|
// CHECK: @[[C:__profc_foo]] = private global [3 x i64] zeroinitializer
|
||||||
|
|
||||||
// CHECK-LABEL: @foo()
|
// CHECK-LABEL: @foo()
|
||||||
// CHECK: store {{.*}} @[[C]], i64 0, i64 0
|
// CHECK: store {{.*}} @[[C]], i64 0, i64 0
|
||||||
|
|
|
@ -18,7 +18,7 @@ class Simple {
|
||||||
public:
|
public:
|
||||||
// CTRGEN-LABEL: define {{.*}} @_ZN6SimpleC2Ei(
|
// CTRGEN-LABEL: define {{.*}} @_ZN6SimpleC2Ei(
|
||||||
// CTRUSE-LABEL: define {{.*}} @_ZN6SimpleC2Ei(
|
// CTRUSE-LABEL: define {{.*}} @_ZN6SimpleC2Ei(
|
||||||
// CTRGEN: store {{.*}} @[[SCC:__prf_cn__ZN6SimpleC2Ei]], i64 0, i64 0
|
// CTRGEN: store {{.*}} @[[SCC:__profc__ZN6SimpleC2Ei]], i64 0, i64 0
|
||||||
explicit Simple(int Member) : Member(Member) {
|
explicit Simple(int Member) : Member(Member) {
|
||||||
// CTRGEN: store {{.*}} @[[SCC]], i64 0, i64 1
|
// CTRGEN: store {{.*}} @[[SCC]], i64 0, i64 1
|
||||||
// CTRUSE: br {{.*}} !prof ![[SC1:[0-9]+]]
|
// CTRUSE: br {{.*}} !prof ![[SC1:[0-9]+]]
|
||||||
|
@ -31,7 +31,7 @@ public:
|
||||||
|
|
||||||
// DTRGEN-LABEL: define {{.*}} @_ZN6SimpleD2Ev(
|
// DTRGEN-LABEL: define {{.*}} @_ZN6SimpleD2Ev(
|
||||||
// DTRUSE-LABEL: define {{.*}} @_ZN6SimpleD2Ev(
|
// DTRUSE-LABEL: define {{.*}} @_ZN6SimpleD2Ev(
|
||||||
// DTRGEN: store {{.*}} @[[SDC:__prf_cn__ZN6SimpleD2Ev]], i64 0, i64 0
|
// DTRGEN: store {{.*}} @[[SDC:__profc__ZN6SimpleD2Ev]], i64 0, i64 0
|
||||||
~Simple() {
|
~Simple() {
|
||||||
// DTRGEN: store {{.*}} @[[SDC]], i64 0, i64 1
|
// DTRGEN: store {{.*}} @[[SDC]], i64 0, i64 1
|
||||||
// DTRUSE: br {{.*}} !prof ![[SD1:[0-9]+]]
|
// DTRUSE: br {{.*}} !prof ![[SD1:[0-9]+]]
|
||||||
|
@ -44,7 +44,7 @@ public:
|
||||||
|
|
||||||
// MTHGEN-LABEL: define {{.*}} @_ZN6Simple6methodEv(
|
// MTHGEN-LABEL: define {{.*}} @_ZN6Simple6methodEv(
|
||||||
// MTHUSE-LABEL: define {{.*}} @_ZN6Simple6methodEv(
|
// MTHUSE-LABEL: define {{.*}} @_ZN6Simple6methodEv(
|
||||||
// MTHGEN: store {{.*}} @[[SMC:__prf_cn__ZN6Simple6methodEv]], i64 0, i64 0
|
// MTHGEN: store {{.*}} @[[SMC:__profc__ZN6Simple6methodEv]], i64 0, i64 0
|
||||||
void method() {
|
void method() {
|
||||||
// MTHGEN: store {{.*}} @[[SMC]], i64 0, i64 1
|
// MTHGEN: store {{.*}} @[[SMC]], i64 0, i64 1
|
||||||
// MTHUSE: br {{.*}} !prof ![[SM1:[0-9]+]]
|
// MTHUSE: br {{.*}} !prof ![[SM1:[0-9]+]]
|
||||||
|
@ -58,7 +58,7 @@ public:
|
||||||
|
|
||||||
// WRPGEN-LABEL: define {{.*}} @_Z14simple_wrapperv(
|
// WRPGEN-LABEL: define {{.*}} @_Z14simple_wrapperv(
|
||||||
// WRPUSE-LABEL: define {{.*}} @_Z14simple_wrapperv(
|
// WRPUSE-LABEL: define {{.*}} @_Z14simple_wrapperv(
|
||||||
// WRPGEN: store {{.*}} @[[SWC:__prf_cn__Z14simple_wrapperv]], i64 0, i64 0
|
// WRPGEN: store {{.*}} @[[SWC:__profc__Z14simple_wrapperv]], i64 0, i64 0
|
||||||
void simple_wrapper() {
|
void simple_wrapper() {
|
||||||
// WRPGEN: store {{.*}} @[[SWC]], i64 0, i64 1
|
// WRPGEN: store {{.*}} @[[SWC]], i64 0, i64 1
|
||||||
// WRPUSE: br {{.*}} !prof ![[SW1:[0-9]+]]
|
// WRPUSE: br {{.*}} !prof ![[SW1:[0-9]+]]
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
// An implicit constructor is generated for Base. We should not emit counters
|
// An implicit constructor is generated for Base. We should not emit counters
|
||||||
// for it.
|
// for it.
|
||||||
// CHECK-NOT: @__prf_cn__ZN4BaseC2Ev =
|
// CHECK-NOT: @__profc__ZN4BaseC2Ev =
|
||||||
|
|
||||||
struct Base {
|
struct Base {
|
||||||
virtual void foo();
|
virtual void foo();
|
||||||
|
|
|
@ -9,9 +9,9 @@
|
||||||
// RUN: FileCheck --input-file=%tuse -check-prefix=PGOUSE %s
|
// RUN: FileCheck --input-file=%tuse -check-prefix=PGOUSE %s
|
||||||
// RUN: FileCheck --input-file=%tuse -check-prefix=LMBUSE %s
|
// RUN: FileCheck --input-file=%tuse -check-prefix=LMBUSE %s
|
||||||
|
|
||||||
// PGOGEN: @[[LWC:__prf_cn__Z7lambdasv]] = private global [4 x i64] zeroinitializer
|
// PGOGEN: @[[LWC:__profc__Z7lambdasv]] = private global [4 x i64] zeroinitializer
|
||||||
// PGOGEN: @[[MAC:__prf_cn_main]] = private global [1 x i64] zeroinitializer
|
// PGOGEN: @[[MAC:__profc_main]] = private global [1 x i64] zeroinitializer
|
||||||
// LMBGEN: @[[LFC:"__prf_cn_cxx_lambda.cpp__ZZ7lambdasvENK3\$_0clEi"]] = private global [3 x i64] zeroinitializer
|
// LMBGEN: @[[LFC:"__profc_cxx_lambda.cpp__ZZ7lambdasvENK3\$_0clEi"]] = private global [3 x i64] zeroinitializer
|
||||||
|
|
||||||
// PGOGEN-LABEL: define {{.*}}void @_Z7lambdasv()
|
// PGOGEN-LABEL: define {{.*}}void @_Z7lambdasv()
|
||||||
// PGOUSE-LABEL: define {{.*}}void @_Z7lambdasv()
|
// PGOUSE-LABEL: define {{.*}}void @_Z7lambdasv()
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
// RUN: %clang_cc1 -triple x86_64-apple-macosx10.9.0 -emit-llvm -main-file-name cxx-linkage.cpp %s -o - -fprofile-instr-generate | FileCheck %s
|
// RUN: %clang_cc1 -triple x86_64-apple-macosx10.9.0 -emit-llvm -main-file-name cxx-linkage.cpp %s -o - -fprofile-instr-generate | FileCheck %s
|
||||||
|
|
||||||
// CHECK: @__prf_nm__Z3foov = private constant [7 x i8] c"_Z3foov"
|
// CHECK: @__profn__Z3foov = private constant [7 x i8] c"_Z3foov"
|
||||||
// CHECK: @__prf_nm__Z8foo_weakv = weak hidden constant [12 x i8] c"_Z8foo_weakv"
|
// CHECK: @__profn__Z8foo_weakv = weak hidden constant [12 x i8] c"_Z8foo_weakv"
|
||||||
// CHECK: @__prf_nm_main = private constant [4 x i8] c"main"
|
// CHECK: @__profn_main = private constant [4 x i8] c"main"
|
||||||
// CHECK: @__prf_nm__Z10foo_inlinev = linkonce_odr hidden constant [15 x i8] c"_Z10foo_inlinev"
|
// CHECK: @__profn__Z10foo_inlinev = linkonce_odr hidden constant [15 x i8] c"_Z10foo_inlinev"
|
||||||
|
|
||||||
void foo(void) { }
|
void foo(void) { }
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
// RUN: %clang_cc1 -x c++ %s -triple %itanium_abi_triple -main-file-name cxx-rangefor.cpp -std=c++11 -o - -emit-llvm -fprofile-instr-use=%t.profdata > %tuse
|
// RUN: %clang_cc1 -x c++ %s -triple %itanium_abi_triple -main-file-name cxx-rangefor.cpp -std=c++11 -o - -emit-llvm -fprofile-instr-use=%t.profdata > %tuse
|
||||||
// RUN: FileCheck --input-file=%tuse -check-prefix=CHECK -check-prefix=PGOUSE %s
|
// RUN: FileCheck --input-file=%tuse -check-prefix=CHECK -check-prefix=PGOUSE %s
|
||||||
|
|
||||||
// PGOGEN: @[[RFC:__prf_cn__Z9range_forv]] = private global [5 x i64] zeroinitializer
|
// PGOGEN: @[[RFC:__profc__Z9range_forv]] = private global [5 x i64] zeroinitializer
|
||||||
|
|
||||||
// CHECK-LABEL: define {{.*}}void @_Z9range_forv()
|
// CHECK-LABEL: define {{.*}}void @_Z9range_forv()
|
||||||
// PGOGEN: store {{.*}} @[[RFC]], i64 0, i64 0
|
// PGOGEN: store {{.*}} @[[RFC]], i64 0, i64 0
|
||||||
|
|
|
@ -20,13 +20,13 @@ Bar bar;
|
||||||
|
|
||||||
// Profile data for complete constructors and destructors must absent.
|
// Profile data for complete constructors and destructors must absent.
|
||||||
|
|
||||||
// CHECK-NOT: @__prf_nm__ZN3FooC1Ev
|
// CHECK-NOT: @__profn__ZN3FooC1Ev
|
||||||
// CHECK-NOT: @__prf_nm__ZN3FooC1Ei
|
// CHECK-NOT: @__profn__ZN3FooC1Ei
|
||||||
// CHECK-NOT: @__prf_nm__ZN3FooD1Ev
|
// CHECK-NOT: @__profn__ZN3FooD1Ev
|
||||||
// CHECK-NOT: @__prf_nm__ZN3BarC1Ev
|
// CHECK-NOT: @__profn__ZN3BarC1Ev
|
||||||
// CHECK-NOT: @__prf_nm__ZN3BarD1Ev
|
// CHECK-NOT: @__profn__ZN3BarD1Ev
|
||||||
// CHECK-NOT: @__prf_cn__ZN3FooD1Ev
|
// CHECK-NOT: @__profc__ZN3FooD1Ev
|
||||||
// CHECK-NOT: @__prf_dt__ZN3FooD1Ev
|
// CHECK-NOT: @__profd__ZN3FooD1Ev
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,8 +10,8 @@
|
||||||
// RUN: FileCheck --input-file=%tuse -check-prefix=T0USE -check-prefix=ALL %s
|
// RUN: FileCheck --input-file=%tuse -check-prefix=T0USE -check-prefix=ALL %s
|
||||||
// RUN: FileCheck --input-file=%tuse -check-prefix=T100USE -check-prefix=ALL %s
|
// RUN: FileCheck --input-file=%tuse -check-prefix=T100USE -check-prefix=ALL %s
|
||||||
|
|
||||||
// T0GEN: @[[T0C:__prf_cn__Z4loopILj0EEvv]] = linkonce_odr hidden global [2 x i64] zeroinitializer
|
// T0GEN: @[[T0C:__profc__Z4loopILj0EEvv]] = linkonce_odr hidden global [2 x i64] zeroinitializer
|
||||||
// T100GEN: @[[T100C:__prf_cn__Z4loopILj100EEvv]] = linkonce_odr hidden global [2 x i64] zeroinitializer
|
// T100GEN: @[[T100C:__profc__Z4loopILj100EEvv]] = linkonce_odr hidden global [2 x i64] zeroinitializer
|
||||||
|
|
||||||
// T0GEN-LABEL: define linkonce_odr {{.*}}void @_Z4loopILj0EEvv()
|
// T0GEN-LABEL: define linkonce_odr {{.*}}void @_Z4loopILj0EEvv()
|
||||||
// T0USE-LABEL: define linkonce_odr {{.*}}void @_Z4loopILj0EEvv()
|
// T0USE-LABEL: define linkonce_odr {{.*}}void @_Z4loopILj0EEvv()
|
||||||
|
|
|
@ -10,9 +10,9 @@
|
||||||
// RUN: %clang %s -o - -emit-llvm -S -fprofile-instr-use=%t.profdata -fcxx-exceptions -target %itanium_abi_triple | FileCheck -check-prefix=PGOUSE %s
|
// RUN: %clang %s -o - -emit-llvm -S -fprofile-instr-use=%t.profdata -fcxx-exceptions -target %itanium_abi_triple | FileCheck -check-prefix=PGOUSE %s
|
||||||
// RUN: %clang %s -o - -emit-llvm -S -fprofile-instr-use=%t.profdata -fcxx-exceptions -target %itanium_abi_triple | FileCheck -check-prefix=PGOUSE-EXC %s
|
// RUN: %clang %s -o - -emit-llvm -S -fprofile-instr-use=%t.profdata -fcxx-exceptions -target %itanium_abi_triple | FileCheck -check-prefix=PGOUSE-EXC %s
|
||||||
|
|
||||||
// PGOGEN: @[[THC:__prf_cn__Z6throwsv]] = private global [9 x i64] zeroinitializer
|
// PGOGEN: @[[THC:__profc__Z6throwsv]] = private global [9 x i64] zeroinitializer
|
||||||
// PGOGEN-EXC: @[[THC:__prf_cn__Z6throwsv]] = private global [9 x i64] zeroinitializer
|
// PGOGEN-EXC: @[[THC:__profc__Z6throwsv]] = private global [9 x i64] zeroinitializer
|
||||||
// PGOGEN: @[[UNC:__prf_cn__Z11unreachablei]] = private global [3 x i64] zeroinitializer
|
// PGOGEN: @[[UNC:__profc__Z11unreachablei]] = private global [3 x i64] zeroinitializer
|
||||||
|
|
||||||
// PGOGEN-LABEL: @_Z6throwsv()
|
// PGOGEN-LABEL: @_Z6throwsv()
|
||||||
// PGOUSE-LABEL: @_Z6throwsv()
|
// PGOUSE-LABEL: @_Z6throwsv()
|
||||||
|
|
|
@ -14,24 +14,24 @@ struct B : A {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Base dtor
|
// Base dtor
|
||||||
// CHECK: @__prf_nm__ZN1BD2Ev = private constant [9 x i8] c"_ZN1BD2Ev"
|
// CHECK: @__profn__ZN1BD2Ev = private constant [9 x i8] c"_ZN1BD2Ev"
|
||||||
|
|
||||||
// Complete dtor must not be instrumented
|
// Complete dtor must not be instrumented
|
||||||
// CHECK-NOT: @__prf_nm__ZN1BD1Ev = private constant [9 x i8] c"_ZN1BD1Ev"
|
// CHECK-NOT: @__profn__ZN1BD1Ev = private constant [9 x i8] c"_ZN1BD1Ev"
|
||||||
|
|
||||||
// Deleting dtor must not be instrumented
|
// Deleting dtor must not be instrumented
|
||||||
// CHECK-NOT: @__prf_nm__ZN1BD0Ev = private constant [9 x i8] c"_ZN1BD0Ev"
|
// CHECK-NOT: @__profn__ZN1BD0Ev = private constant [9 x i8] c"_ZN1BD0Ev"
|
||||||
|
|
||||||
// Base dtor counters and profile data
|
// Base dtor counters and profile data
|
||||||
// CHECK: @__prf_cn__ZN1BD2Ev = private global [1 x i64] zeroinitializer
|
// CHECK: @__profc__ZN1BD2Ev = private global [1 x i64] zeroinitializer
|
||||||
// CHECK: @__prf_dt__ZN1BD2Ev =
|
// CHECK: @__profd__ZN1BD2Ev =
|
||||||
|
|
||||||
// Complete dtor counters and profile data must absent
|
// Complete dtor counters and profile data must absent
|
||||||
// CHECK-NOT: @__prf_cn__ZN1BD1Ev = private global [1 x i64] zeroinitializer
|
// CHECK-NOT: @__profc__ZN1BD1Ev = private global [1 x i64] zeroinitializer
|
||||||
// CHECK-NOT: @__prf_dt__ZN1BD1Ev =
|
// CHECK-NOT: @__profd__ZN1BD1Ev =
|
||||||
|
|
||||||
// Deleting dtor counters and profile data must absent
|
// Deleting dtor counters and profile data must absent
|
||||||
// CHECK-NOT: @__prf_cn__ZN1BD0Ev = private global [1 x i64] zeroinitializer
|
// CHECK-NOT: @__profc__ZN1BD0Ev = private global [1 x i64] zeroinitializer
|
||||||
// CHECK-NOT: @__prf_dt__ZN1BD0Ev =
|
// CHECK-NOT: @__profd__ZN1BD0Ev =
|
||||||
|
|
||||||
B::~B() { }
|
B::~B() { }
|
||||||
|
|
|
@ -31,9 +31,9 @@ struct NSFastEnumerationState;
|
||||||
@end;
|
@end;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// PGOGEN: @[[FRC:"__prf_cn_objc_general.m_\+\[A foreach_\]"]] = private global [2 x i64] zeroinitializer
|
// PGOGEN: @[[FRC:"__profc_objc_general.m_\+\[A foreach_\]"]] = private global [2 x i64] zeroinitializer
|
||||||
// PGOGEN: @[[BLC:"__prf_cn_objc_general.m___13\+\[A foreach_\]_block_invoke"]] = private global [2 x i64] zeroinitializer
|
// PGOGEN: @[[BLC:"__profc_objc_general.m___13\+\[A foreach_\]_block_invoke"]] = private global [2 x i64] zeroinitializer
|
||||||
// PGOGEN: @[[MAC:__prf_cn_main]] = private global [1 x i64] zeroinitializer
|
// PGOGEN: @[[MAC:__profc_main]] = private global [1 x i64] zeroinitializer
|
||||||
|
|
||||||
@interface A : NSObject
|
@interface A : NSObject
|
||||||
+ (void)foreach: (NSArray *)array;
|
+ (void)foreach: (NSArray *)array;
|
||||||
|
|
Loading…
Reference in New Issue