llvm: Add support for collecting time trace (#8546)

LLVM time profiler can collect time traces and present them in a
hierarchical view. Which breakdowns the time spent in each Pass or even
IR unit. The result is also exported into a format that can be easily
visualized by the Chrome browser.

Currently this features is controlled by the following environment
variables:
 - `ZIG_LLVM_TIME_TRACE_FILE` toggles this feature and specifies the
   output time trace file.
 - `ZIG_LLVM_TIME_TRACE_GRANULARITY` controls the time granularity in
   ms (default to 500).
83e0a49ba4Min-Yih Hsu committed on 6/4/2021, 7:32:37 AM· committed by GitHubparent9c08a33
1 file changedLine totals unavailable