# LLVM: `analyze` tool

### NAME

`analyze`

### SYNOPSIS

`analyze [options] [filename]`

### DESCRIPTION

The `analyze` command performs various analysis of LLVM assembly code or bytecode. It will usually print the results on standard output, but in a few cases, it will print output to standard error or generate a file with the analysis output (which is usually done when the output is meant for another program).

If filename is omitted or is -, `analyze` reads its input from standard input. It first attempts to interpret its input as LLVM bytecode. If it encounters an error, it then attempts to parse the input as LLVM assembly language.

### OPTIONS

- -help
  Print a summary of command line options.

- -stats
  Print statistics.

- -time-passes
  Record the amount of time needed for each pass and print it to standard error.

- -q
  Quiet mode. With this option, analysis pass names are not printed.

- -load <plugin.so>
  Load the specified dynamic object with name plugin.so. This file should contain additional analysis passes that register themselves with the `analyze` program after being loaded.

  After being loaded, additional command line options are made available for running the passes made available by plugin.so. Use '``analyze` -load <plugin.so> -help`' to see the new list of available analysis passes.

### EXIT STATUS

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

### SEE ALSO

`opt`

Maintained by the LLVM Team.