llvm-prof - print execution profile of LLVM program — LLVM 3.4 documentation

# llvm-prof - print execution profile of LLVM program

## SYNOPSIS

llvm-prof [options] [bitcode file] [llvmprof.out]

## DESCRIPTION

The llvm-prof tool reads in an llvmprof.out file (which can optionally use a specific file with the third program argument), a bitcode file for the program, and produces a human readable report, suitable for determining where the program hotspots are.

This program is often used in conjunction with the utils/profile.pl script. This script automatically instruments a program, runs it with the JIT, then runs llvm-prof to format a report. To get more information about utils/profile.pl, execute it with the -help option.

## OPTIONS

–annotated-llvm or -A

> In addition to the normal report printed, print out the code for the program, annotated with execution frequency information. This can be particularly useful when trying to visualize how frequently basic blocks are executed. This is most useful with basic block profiling information or better.

–print-all-code

> Using this option enables the –annotated-llvm option, but it prints the entire module, instead of just the most commonly executed functions.

–time-passes

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

## EXIT STATUS

llvm-prof returns 1 if it cannot load the bitcode file or the profile information. Otherwise, it exits with zero.