summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGBlocks.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/CGBlocks.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/CGBlocks.cpp')
-rw-r--r--clang/lib/CodeGen/CGBlocks.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGBlocks.cpp b/clang/lib/CodeGen/CGBlocks.cpp
index a1f13682d95..ce2a1938706 100644
--- a/clang/lib/CodeGen/CGBlocks.cpp
+++ b/clang/lib/CodeGen/CGBlocks.cpp
@@ -1199,7 +1199,7 @@ CodeGenFunction::GenerateBlockFunction(GlobalDecl GD,
RegionCounter Cnt = getPGORegionCounter(blockDecl->getBody());
Cnt.beginRegion(Builder);
EmitStmt(blockDecl->getBody());
- PGO.emitWriteoutFunction();
+ PGO.emitInstrumentationData();
PGO.destroyRegionCounters();
}
OpenPOWER on IntegriCloud