llvm-project/llvm/docs/CommandGuide/llvm-remarkutil.rst
Jessica Paquette a4591a61df [llvm-remarkutil] Add an option to print out function sizes
This adds an `instruction-count` command to llvm-remarkutil.

```
llvm-remarkutil instruction-count --parser=<bitstream|yaml> <file>
```

This will, for now, only print out asm-printer `InstructionCount` remarks.

Frequently I need to find out things like "what are the top 10 largest
functions" in a given project.

This makes it so we can find that information quickly and easily from any
format of remarks.

I chose a CSV because I usually want to stick these into a spreadsheet, and
the data is two-dimensional.

In the future, we may want to change this to another format if we add more
complicated data.

Differential Revision: https://reviews.llvm.org/D134765
2022-09-28 15:45:55 -07:00

75 lines
1.6 KiB
ReStructuredText

llvm-remarkutil - Remark utility
================================
.. program:: llvm-remarkutil
SYNOPSIS
--------
:program:`llvm-remarkutil` [*subcommmand*] [*options*]
DESCRIPTION
-----------
Utility for displaying information from, and converting between different
`remark <https://llvm.org/docs/Remarks.html>`_ formats.
Subcommands
-----------
* :ref:`bitstream2yaml_subcommand` - Reserialize bitstream remarks to YAML.
* :ref:`yaml2bitstream_subcommand` - Reserialize YAML remarks to bitstream.
* :ref:`instruction-count_subcommand` - Output function instruction counts.
.. _bitstream2yaml_subcommand:
bitstream2yaml
~~~~~~~~~~~~~~
.. program:: llvm-remarkutil bitstream2yaml
USAGE: :program:`llvm-remarkutil` bitstream2yaml <input file> -o <output file>
Summary
^^^^^^^
Takes a bitstream remark file as input, and reserializes that file as YAML.
.. _yaml2bitstream_subcommand:
yaml2bitstream
~~~~~~~~~~~~~~
.. program:: llvm-remarkutil yaml2bitstream
USAGE: :program:`llvm-remarkutil` yaml2bitstream <input file> -o <output file>
Summary
^^^^^^^
Takes a YAML remark file as input, and reserializes that file in the bitstream
format.
.. _instruction-count_subcommand:
instruction-count
~~~~~~~~~~~~~~~~~
.. program:: llvm-remarkutil instruction-count
USAGE: :program:`llvm-remarkutil` instruction-count <input file> --parser=<bitstream|yaml> -o <output file>
Summary
^^^^^^^
Outputs instruction count remarks for every function. Instruction count remarks
encode the number of instructions in a function at assembly printing time.
Instruction count remarks require asm-printer remarks.
CSV format is as follows:
::
Function,InstructionCount
foo,123