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 | 2fe531cb0756aa85c09f016ede88a94bc0818a5c (patch) | |
tree | 340e30e3eb5440f9b2e121aada2e6ff8c7e11190 /clang/lib/CodeGen/CodeGenFunction.cpp | |
parent | 77a88e3064aaf1aab29886eb349cfc92fcf80efc (diff) | |
download | bcm5719-llvm-2fe531cb0756aa85c09f016ede88a94bc0818a5c.tar.gz bcm5719-llvm-2fe531cb0756aa85c09f016ede88a94bc0818a5c.zip |
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>
llvm-svn: 204080
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
-rw-r--r-- | clang/lib/CodeGen/CodeGenFunction.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp index 2d8389f020e..3844991f6a2 100644 --- a/clang/lib/CodeGen/CodeGenFunction.cpp +++ b/clang/lib/CodeGen/CodeGenFunction.cpp @@ -821,7 +821,7 @@ void CodeGenFunction::GenerateCode(GlobalDecl GD, llvm::Function *Fn, if (!CurFn->doesNotThrow()) TryMarkNoThrow(CurFn); - PGO.emitWriteoutFunction(); + PGO.emitInstrumentationData(); PGO.destroyRegionCounters(); } |