Pass Timings

LLVM provides functionality to time optimization and analysis passes.

New Pass Manager APIs

See PassBuilder.start_pass_timing() and PassBuilder.finish_pass_timing() in Optimization passes.

Legacy Pass Manager APIs

llvmlite.binding.set_time_passes(enable)

Enable or disable the pass timers.

llvmlite.binding.report_and_reset_timings()

Returns the pass timings report and resets the LLVM internal timers.

Pass timers are enabled by set_time_passes(). If the timers are not enabled, this function will return an empty string.