| <html> | |
| <title>LLVM: llvm-prof tool</title> | |
| <body bgcolor=white> | |
| <center><h1>LLVM: <tt>llvm-prof</tt> tool</h1></center> | |
| <HR> | |
| <h3>NAME</h3> | |
| <tt>llvm-prof</tt> | |
| <h3>SYNOPSIS</h3> | |
| <tt>llvm-prof [options] [bytecode file] [llvmprof.out]</tt> | |
| <h3>DESCRIPTION</h3> | |
| The <tt>llvm-prof</tt> tool reads in an '<tt>llvmprof.out</tt>' file (which can | |
| optionally use a specific file with the third program argument), a bytecode file | |
| for the program, and produces a human readable report, suitable for determining | |
| where the program hotspots are.<p> | |
| This program is often used in conjunction with the <tt>utils/profile.pl</tt> | |
| script. This script automatically instruments a program, runs it with the JIT, | |
| then runs <tt>llvm-prof</tt> to format a report. To get more information about | |
| <tt>utils/profile.pl</tt>, execute it with the <tt>--help</tt> option.<p> | |
| <h3>OPTIONS</h3> | |
| <ul> | |
| <li><tt>--annotated-llvm</tt> or <tt>-A</tt><br> | |
| 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.<p> | |
| <li><tt>--print-all-code</tt><br> | |
| Using this option enables the <tt>--annotated-llvm</tt> option, but it | |
| prints the entire module, instead of just the most commonly executed | |
| functions.<p> | |
| <li><tt>-time-passes</tt><br> | |
| Record the amount of time needed for each pass and print it to standard | |
| error. | |
| </ul> | |
| <h3>EXIT STATUS</h3> | |
| <tt>llvm-prof</tt> returns 1 if it cannot load the bytecode file or the profile | |
| information. Otherwise, it exits with zero. | |
| <HR> | |
| Maintained by the <a href="http://llvm.cs.uiuc.edu">LLVM Team</a>. | |
| </body> | |
| </html> |