summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGObjC.cpp
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2014-03-17 21:18:30 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2014-03-17 21:18:30 +0000
commit2fe531cb0756aa85c09f016ede88a94bc0818a5c (patch)
tree340e30e3eb5440f9b2e121aada2e6ff8c7e11190 /clang/lib/CodeGen/CGObjC.cpp
parent77a88e3064aaf1aab29886eb349cfc92fcf80efc (diff)
downloadbcm5719-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/CGObjC.cpp')
-rw-r--r--clang/lib/CodeGen/CGObjC.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGObjC.cpp b/clang/lib/CodeGen/CGObjC.cpp
index d0a3f653285..02327c51b8f 100644
--- a/clang/lib/CodeGen/CGObjC.cpp
+++ b/clang/lib/CodeGen/CGObjC.cpp
@@ -507,7 +507,7 @@ void CodeGenFunction::GenerateObjCMethod(const ObjCMethodDecl *OMD) {
Cnt.beginRegion(Builder);
EmitCompoundStmtWithoutScope(*cast<CompoundStmt>(OMD->getBody()));
FinishFunction(OMD->getBodyRBrace());
- PGO.emitWriteoutFunction();
+ PGO.emitInstrumentationData();
PGO.destroyRegionCounters();
}
OpenPOWER on IntegriCloud