Home

PGO: Statically generate data structures

Press ? to show keyboard shortcuts.
Committed
dexonsmithMar 17 2014, 2:18 PM
Parents
rL204079: PGO: Statically generate data structures
Branches
Unknown
Tags
Unknown
Subscribers
None
Projects
None
Description

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

rL204080

cfe/trunk/lib/CodeGen/CGBlocks.cpp

Loading...

cfe/trunk/lib/CodeGen/CGObjC.cpp

Loading...

cfe/trunk/lib/CodeGen/CodeGenFunction.cpp

Loading...

cfe/trunk/lib/CodeGen/CodeGenPGO.cpp

Loading...

cfe/trunk/lib/CodeGen/CodeGenPGO.h

Loading...

cfe/trunk/test/Profile/c-counter-overflows.c

Loading...

cfe/trunk/test/Profile/c-general.c

Loading...

cfe/trunk/test/Profile/c-linkage.c

Loading...

cfe/trunk/test/Profile/cxx-class.cpp

Loading...

cfe/trunk/test/Profile/cxx-linkage.cpp

Loading...

cfe/trunk/test/Profile/cxx-throws.cpp

Loading...

cfe/trunk/test/Profile/objc-general.m

Loading...

Add Comment