# LLVM: `extract` tool

### NAME

`extract`

### SYNOPSIS

`extract [options] [filename]`

### DESCRIPTION

The `extract` command takes the name of a function and extracts it from the specified LLVM bytecode file. It is primarily used as a debugging tool to reduce test cases from larger programs that are triggering a bug.

In addition to extracting the bytecode of the specified function, `extract` will also remove unreachable global variables, prototypes, and unused types.

The `extract` command reads its input from standard input if filename is omitted or if filename is -. The output is always written to standard output.

### OPTIONS

- -func <function>
  Extract the specified function from the LLVM bytecode.

- -help
  Print a summary of command line options.

### EXIT STATUS

If `extract` succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

### SEE ALSO

`bugpoint`

Maintained by the LLVM Team.