| # 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 and stable function maps, allowing for more efficient |
| function outlining and function merging across modules in subsequent |
| compilations. The design is extensible, allowing for the incorporation of |
| additional codegen summaries and optimization techniques. |
| |
| ## 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 |
| |