Currently, each LLVM timer can be only printed once, as the act of printing clear the timer.
I don't think this is always a good idea, as printing twice might be a requirement (e.g. dumping statistics in a serialized form as well as printing it to stdout, or dumping statistics in multiple places).
In the analyzer we are actually hitting those limitations (e.g. it would be nice to have statistics in the produced HTML report as well as on the command line).
Moreover, the current printing mechanism implicitly assumes that the timer is stopped -- and prints zero otherwise.
This patch relaxes this assumption (as I don't think printing a running timer should be a giant problem or should crash), but if it's an issue I could change it to make the assumption explicit by asserting !isRunning.