Skip to content

Commit

Permalink
[ThinLTO] Update LangRef doc for summary parsing
Browse files Browse the repository at this point in the history
Summary:
Remove note about summary being ignored. Update to reflect the
fact that summary is now parsed by llvm-as.

While here, fix one summary format that changed since the initial
implementation.

Reviewers: dexonsmith

Subscribers: inglorion, llvm-commits

Differential Revision: https://reviews.llvm.org/D51540

llvm-svn: 342479
  • Loading branch information
teresajohnson committed Sep 18, 2018
1 parent 87c31a6 commit ab2a7f0
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions llvm/docs/LangRef.rst
Expand Up @@ -5827,20 +5827,20 @@ causes the building of a compact summary of the module that is emitted into
the bitcode. The summary is emitted into the LLVM assembly and identified
in syntax by a caret ('``^``').

*Note that temporarily the summary entries are skipped when parsing the
assembly, although the parsing support is actively being implemented. The
following describes when the summary entries will be parsed once implemented.*
The summary will be parsed into a ModuleSummaryIndex object under the
same conditions where summary index is currently built from bitcode.
Specifically, tools that test the Thin Link portion of a ThinLTO compile
(i.e. llvm-lto and llvm-lto2), or when parsing a combined index
for a distributed ThinLTO backend via clang's "``-fthinlto-index=<>``" flag.
Additionally, it will be parsed into a bitcode output, along with the Module
The summary is parsed into a bitcode output, along with the Module
IR, via the "``llvm-as``" tool. Tools that parse the Module IR for the purposes
of optimization (e.g. "``clang -x ir``" and "``opt``"), will ignore the
summary entries (just as they currently ignore summary entries in a bitcode
input file).

Eventually, the summary will be parsed into a ModuleSummaryIndex object under
the same conditions where summary index is currently built from bitcode.
Specifically, tools that test the Thin Link portion of a ThinLTO compile
(i.e. llvm-lto and llvm-lto2), or when parsing a combined index
for a distributed ThinLTO backend via clang's "``-fthinlto-index=<>``" flag
(this part is not yet implemented, use llvm-as to create a bitcode object
before feeding into thin link tools for now).

There are currently 3 types of summary entries in the LLVM assembly:
:ref:`module paths<module_path_summary>`,
:ref:`global values<gv_summary>`, and
Expand Down Expand Up @@ -6051,7 +6051,7 @@ Where each ConstVCall has the format:

.. code-block:: text

VFuncId, args: (Arg[, Arg]*)
(VFuncId, args: (Arg[, Arg]*))

and where each VFuncId has the format described for ``TypeTestAssumeVCalls``,
and each Arg is an integer argument number.
Expand Down

0 comments on commit ab2a7f0

Please sign in to comment.