diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-03-17 21:18:30 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-03-17 21:18:30 +0000 |
commit | cc7b172945b8f54294739de3198ccac9be09ea62 (patch) | |
tree | 9d165d3c7722d1b1e36a259adf0b698bfd4b41e9 /test/Profile/objc-general.m | |
parent | bbe3878c8894da9fb0f54286c42fba84e6da95c4 (diff) | |
download | clang-cc7b172945b8f54294739de3198ccac9be09ea62.tar.gz |
PGO: Statically generate data structures
In instrumentation-based profiling, we need a set of data structures to
represent the counters. Previously, these were built up during static
initialization. Now, they're shoved into a specially-named section so
that they show up as an array.
As a consequence of the reorganizing symbols, instrumentation data
structures for linkonce functions are now correctly coalesced.
This is the first step in a larger project to minimize runtime overhead
and dependencies in instrumentation-based profilng. The larger picture
includes removing all initialization overhead and making the dependency
on libc optional.
<rdar://problem/15943240>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204080 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Profile/objc-general.m')
-rw-r--r-- | test/Profile/objc-general.m | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/test/Profile/objc-general.m b/test/Profile/objc-general.m index b5f2673302..56d95c2b84 100644 --- a/test/Profile/objc-general.m +++ b/test/Profile/objc-general.m @@ -29,9 +29,9 @@ struct NSFastEnumerationState; @end; #endif -// PGOGEN: @[[FRC:__llvm_pgo_ctr[0-9]*]] = private global [2 x i64] zeroinitializer -// PGOGEN: @[[BLC:__llvm_pgo_ctr[0-9]*]] = private global [2 x i64] zeroinitializer -// PGOGEN: @[[MAC:__llvm_pgo_ctr[0-9]*]] = private global [1 x i64] zeroinitializer +// PGOGEN: @[[FRC:"__llvm_pgo_counters_\+\[A foreach:\]"]] = internal global [2 x i64] zeroinitializer +// PGOGEN: @[[BLC:"__llvm_pgo_counters___13\+\[A foreach:\]_block_invoke"]] = internal global [2 x i64] zeroinitializer +// PGOGEN: @[[MAC:__llvm_pgo_counters_main]] = global [1 x i64] zeroinitializer @interface A : NSObject + (void)foreach: (NSArray *)array; |