home | help
LLVM-REDUCE(1)			      LLVM			  LLVM-REDUCE(1)

NAME
     llvm-reduce - LLVM automatic testcase reducer.

SYNOPSIS
     llvm-reduce [options] [input...]

DESCRIPTION
     The 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 "-", 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  com-
     piler infrastructure.

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

     --abort-on-invalid-reduction
	    Abort if any reduction results in invalid IR

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

     --ir-passes=<string>
	    A textual description of the pass pipeline, same as what's passed to
	    opt -passes.

     -j <uint>
	    Maximum number of threads to use to process chunks. Set to 1 to dis-
	    able parallelism.

     --max-pass-iterations=<int>
	    Maximum number of times to run the full set  of  delta  passes  (de-
	    fault=5).

     --mtriple=<string>
	    Set the target triple.

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

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

     --skip-delta-passes=<string>
	    Delta  passes  to  not run, separated by commas. By default, run all
	    delta passes.

     --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 reduc-
	    tion 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.

     --test=<string>
	    Name of the interesting-ness test to be run.

     --test-arg=<string>
	    Arguments passed onto the interesting-ness test.

     --verbose
	    Print extra debugging information.

     --write-tmp-files-as-bitcode
	    Always write temporary files as bitcode instead of textual IR.

     -x={ir|mir}
	    Input language as ir or mir.

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

AUTHOR
     Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT
     2003-2026, LLVM Project

17				   2026-08-30			  LLVM-REDUCE(1)

home | help