Checkers time statistic

Hello,

Sometimes Clang analyzer works slowly, so I implemented timers that measure actual work time for each checker. This patch is using llvm::Timer class for time tracking, and provides more detailed report for -analyzer-stats option:

clang_timers.patch (11.3 KB)

Hi Dmitry,

Thanks for the patch!

Dmitry,
I'm going to agree with Devin here. I would find it very interesting to know which checkers add more state to the core engine.

I've done some profiling on the static analyzer myself. You can look at this thread to see what I found:
http://lists.llvm.org/pipermail/cfe-dev/2015-August/044825.html

One note there that will echo what Devin said is that checkers only account for a small portion of the time in the analyzer (~10%).

Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project