[PATCH] D47905: [ThinLTO] Parse module summary index from assembly

Teresa Johnson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 7 13:33:47 PDT 2018


tejohnson created this revision.
tejohnson added reviewers: pcc, dexonsmith, mehdi_amini.
Herald added subscribers: steven_wu, eraman, inglorion.

Adds assembly parsing support for the module summary index (follow on
to r333335 which added the assembly writing support).

I added support to llvm-as to invoke the index parsing, so that it can
create either a bitcode file with a Module and a per-module index, or
a combined index without a Module.

I will send follow on patches soon to do the following:

- add support to tools such as llvm-lto2 to parse the per-module indexes

from assembly instead of bitcode when testing the thin link.

- verification support.

I wanted to get the guts of the parsing out for review now though.


Repository:
  rL LLVM

https://reviews.llvm.org/D47905

Files:
  include/llvm/Analysis/ModuleSummaryAnalysis.h
  include/llvm/AsmParser/Parser.h
  include/llvm/IR/ModuleSummaryIndex.h
  lib/Analysis/ModuleSummaryAnalysis.cpp
  lib/AsmParser/LLLexer.cpp
  lib/AsmParser/LLLexer.h
  lib/AsmParser/LLParser.cpp
  lib/AsmParser/LLParser.h
  lib/AsmParser/LLToken.h
  lib/AsmParser/Parser.cpp
  lib/Bitcode/Writer/BitcodeWriter.cpp
  test/Assembler/thinlto-bad-summary1.ll
  test/Assembler/thinlto-bad-summary2.ll
  test/Assembler/thinlto-bad-summary3.ll
  test/Bitcode/thinlto-alias.ll
  test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
  test/Bitcode/thinlto-function-summary-callgraph-relbf.ll
  test/Bitcode/thinlto-function-summary-refgraph.ll
  test/Bitcode/thinlto-type-tests.ll
  test/Bitcode/thinlto-type-vcalls.ll
  tools/llvm-as/llvm-as.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D47905.150401.patch
Type: text/x-patch
Size: 90180 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180607/7e840a5e/attachment-0001.bin>


More information about the llvm-commits mailing list