OSDN Git Service

[ThinLTO] Compute the basic block count across modules.
authorHiroshi Yamauchi <yamauchi@google.com>
Thu, 21 May 2020 20:28:24 +0000 (13:28 -0700)
committerHiroshi Yamauchi <yamauchi@google.com>
Thu, 28 May 2020 17:33:05 +0000 (10:33 -0700)
commita7fa35a629e85a72b8cf07a8f95c7c09d9663808
tree4cc0cbfe0b2869bebed46918faf1b593c9cc56eb
parent116dcbebc6a1648b4acd1a1a391c1d66a3eb4b5f
[ThinLTO] Compute the basic block count across modules.

Summary:
Count the per-module number of basic blocks when the module summary is computed
and sum them up during Thin LTO indexing.

This is used to estimate the working set size under the partial sample PGO.

This is split off of D79831.

Reviewers: davidxl, espindola

Subscribers: emaste, inglorion, hiraditya, MaskRay, steven_wu, dexonsmith, arphaman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80403
26 files changed:
lld/test/COFF/thinlto-index-only.ll
lld/test/ELF/lto/thinlto-index-only.ll
llvm/include/llvm/Bitcode/LLVMBitCodes.h
llvm/include/llvm/IR/ModuleSummaryIndex.h
llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
llvm/lib/AsmParser/LLLexer.cpp
llvm/lib/AsmParser/LLParser.cpp
llvm/lib/AsmParser/LLParser.h
llvm/lib/AsmParser/LLToken.h
llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
llvm/lib/Bitcode/Reader/BitcodeReader.cpp
llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
llvm/lib/IR/AsmWriter.cpp
llvm/test/Assembler/thinlto-vtable-summary.ll
llvm/test/Bitcode/thinlto-alias.ll
llvm/test/Bitcode/thinlto-alias2.ll
llvm/test/Bitcode/thinlto-function-summary-callgraph-cast.ll
llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
llvm/test/Bitcode/thinlto-function-summary-callgraph-relbf.ll
llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
llvm/test/Bitcode/thinlto-function-summary.ll
llvm/test/ThinLTO/X86/distributed_indexes.ll
llvm/test/tools/llvm-lto/thinlto.ll