llvm-reduce - LLVM automatic testcase reducer.
==============================================

.. program:: llvm-reduce

SYNOPSIS
--------

:program:`llvm-reduce` [*options*] [*input...*]

DESCRIPTION
-----------

The :program:`llvm-reduce` tool project that can be used for reducing the size of LLVM test cases.
It works by removing redundant or unnecessary code from LLVM test cases while still preserving 
their ability to detect bugs.

If ``input`` is "``-``", :program:`llvm-reduce` reads from standard
input. Otherwise, it will read from the specified ``filenames``.

LLVM-Reduce is a useful tool for reducing the size and 
complexity of LLVM test cases, making it easier to identify and debug issues in 
the LLVM compiler infrastructure.

GENERIC OPTIONS
---------------


.. option:: --help

 Display available options (--help-hidden for more).

.. option:: --abort-on-invalid-reduction

 Abort if any reduction results in invalid IR

.. option::--delta-passes=<string>  

 Delta passes to run, separated by commas. By default, run all delta passes.


.. option:: --in-place     

 WARNING: This option will replace your input file with the reduced version!

.. option:: --ir-passes=<string> 

 A textual description of the pass pipeline, same as what's passed to `opt -passes`.

.. option:: -j <uint>  

 Maximum number of threads to use to process chunks. Set to 1 to disable parallelism.

.. option::  --max-pass-iterations=<int>

  Maximum number of times to run the full set of delta passes (default=5).

.. option:: --mtriple=<string> 

 Set the target triple.

.. option:: --preserve-debug-environment

 Don't disable features used for crash debugging (crash reports, llvm-symbolizer and core dumps)

.. option:: --print-delta-passes  

 Print list of delta passes, passable to --delta-passes as a comma separated liste.

.. option:: --skip-delta-passes=<string>     

 Delta passes to not run, separated by commas. By default, run all delta passes.

.. option:: --starting-granularity-level=<uint>

  Number of times to divide chunks prior to first test.

  Note : Granularity refers to the level of detail at which the reduction process operates.
  A lower granularity means that the reduction process operates at a more coarse-grained level,
  while a higher granularity means that it operates at a more fine-grained level.

.. option::  --test=<string> 

 Name of the interesting-ness test to be run.

.. option:: --test-arg=<string> 

 Arguments passed onto the interesting-ness test.

.. option:: --verbose    

 Print extra debugging information.
 
.. option::  --write-tmp-files-as-bitcode  

 Always write temporary files as bitcode instead of textual IR.

.. option:: -x={ir|mir}

 Input language as ir or mir.

EXIT STATUS
------------

:program:`llvm-reduce` returns 0 under normal operation. It returns a non-zero
exit code if there were any errors.


