mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-30 15:46:06 +00:00

This is a follow-up for https://github.com/llvm/llvm-project/pull/101461. This is a patch for https://discourse.llvm.org/t/rfc-enhanced-machine-outliner-part-2-thinlto-nolto/78753.
69 lines
1.7 KiB
ReStructuredText
69 lines
1.7 KiB
ReStructuredText
llvm-cgdata - LLVM CodeGen Data Tool
|
|
====================================
|
|
|
|
.. program:: llvm-cgdata
|
|
|
|
SYNOPSIS
|
|
--------
|
|
|
|
:program:`llvm-cgdata` [**commands**] [**options**] (<binaries>|<.cgdata>)
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
|
|
The :program:llvm-cgdata utility parses raw codegen data embedded
|
|
in compiled binary files and merges them into a single .cgdata file.
|
|
It can also inspect and manipulate .cgdata files.
|
|
Currently, the tool supports saving and restoring outlined hash trees,
|
|
enabling global function outlining across modules, allowing for more
|
|
efficient function outlining in subsequent compilations.
|
|
The design is extensible, allowing for the incorporation of additional
|
|
codegen summaries and optimization techniques, such as global function
|
|
merging, in the future.
|
|
|
|
COMMANDS
|
|
--------
|
|
|
|
At least one of the following commands are required:
|
|
|
|
.. option:: --convert
|
|
|
|
Convert a .cgdata file from one format to another.
|
|
|
|
.. option:: --merge
|
|
|
|
Merge multiple raw codgen data in binaries into a single .cgdata file.
|
|
|
|
.. option:: --show
|
|
|
|
Show summary information about a .cgdata file.
|
|
|
|
OPTIONS
|
|
-------
|
|
|
|
:program:`llvm-cgdata` supports the following options:
|
|
|
|
.. option:: --format=[text|binary]
|
|
|
|
Specify the format of the output .cgdata file.
|
|
|
|
.. option:: --output=<string>
|
|
|
|
Specify the output file name.
|
|
|
|
.. option:: --cgdata-version
|
|
|
|
Print the version of the llvm-cgdata tool.
|
|
|
|
EXAMPLES
|
|
--------
|
|
|
|
To convert a .cgdata file from binary to text format:
|
|
$ llvm-cgdata --convert --format=text input.cgdata --output=output.data
|
|
|
|
To merge multiple raw codegen data in object files into a single .cgdata file:
|
|
$ llvm-cgdata --merge file1.o file2.o --output=merged.cgdata
|
|
|
|
To show summary information about a .cgdata file:
|
|
$ llvm-cgdata --show input.cgdata
|