diff options
| author | Easwaran Raman <eraman@google.com> | 2018-12-13 19:54:27 +0000 |
|---|---|---|
| committer | Easwaran Raman <eraman@google.com> | 2018-12-13 19:54:27 +0000 |
| commit | 5a7056fa039d3fd5e241d7db8e44c063214ec4ca (patch) | |
| tree | 8a046de580555ba4a5cc4b3d0cb03c7e874dfffb /llvm/lib/LTO/ThinLTOCodeGenerator.cpp | |
| parent | 41c729e78ec61f47c9b44978a58b23120347d18f (diff) | |
| download | bcm5719-llvm-5a7056fa039d3fd5e241d7db8e44c063214ec4ca.tar.gz bcm5719-llvm-5a7056fa039d3fd5e241d7db8e44c063214ec4ca.zip | |
[ThinLTO] Compute synthetic function entry count
Summary:
This patch computes the synthetic function entry count on the whole
program callgraph (based on module summary) and writes the entry counts
to the summary. After function importing, this count gets attached to
the IR as metadata. Since it adds a new field to the summary, this bumps
up the version.
Reviewers: tejohnson
Subscribers: mehdi_amini, inglorion, llvm-commits
Differential Revision: https://reviews.llvm.org/D43521
llvm-svn: 349076
Diffstat (limited to 'llvm/lib/LTO/ThinLTOCodeGenerator.cpp')
| -rw-r--r-- | llvm/lib/LTO/ThinLTOCodeGenerator.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/LTO/ThinLTOCodeGenerator.cpp b/llvm/lib/LTO/ThinLTOCodeGenerator.cpp index fe0f5b7d4cb..d9ec68fe3eb 100644 --- a/llvm/lib/LTO/ThinLTOCodeGenerator.cpp +++ b/llvm/lib/LTO/ThinLTOCodeGenerator.cpp @@ -33,6 +33,7 @@ #include "llvm/IR/Verifier.h" #include "llvm/IRReader/IRReader.h" #include "llvm/LTO/LTO.h" +#include "llvm/LTO/SummaryBasedOptimizations.h" #include "llvm/MC/SubtargetFeature.h" #include "llvm/Object/IRObjectFile.h" #include "llvm/Support/CachePruning.h" @@ -883,6 +884,9 @@ void ThinLTOCodeGenerator::run() { // Compute "dead" symbols, we don't want to import/export these! computeDeadSymbolsInIndex(*Index, GUIDPreservedSymbols); + // Synthesize entry counts for functions in the combined index. + computeSyntheticCounts(*Index); + // Collect the import/export lists for all modules from the call-graph in the // combined index. StringMap<FunctionImporter::ImportMapTy> ImportLists(ModuleCount); |

