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/c-counter-overflows.c | |
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/c-counter-overflows.c')
-rw-r--r-- | test/Profile/c-counter-overflows.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/test/Profile/c-counter-overflows.c b/test/Profile/c-counter-overflows.c index 17cf3a3665..7cbe9bba86 100644 --- a/test/Profile/c-counter-overflows.c +++ b/test/Profile/c-counter-overflows.c @@ -5,7 +5,6 @@ typedef unsigned long long uint64_t; -// PGOGEN: @[[MAIN:__llvm_pgo_ctr[0-9]*]] = private global [2 x i64] zeroinitializer int main(int argc, const char *argv[]) { // Need counts higher than 32-bits. // CHECK: br {{.*}} !prof ![[FOR:[0-9]+]] |