Summary:
Add output to `llvm::errs()` when `-ftime-trace` option is enabled,
add regression test checking this option works as expected.
Reviewers: thakis, aganea
Subscribers: cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D61914
........
Breaks buildbots - @anton-afanasyev please can you take a look?
llvm-svn: 362816
+++ /dev/null
-// RUN: %clangxx -ftime-trace %s 2>&1 | grep "Time trace json-file dumped to" \
-// RUN: | awk '{print $NF}' | xargs cat \
-// RUN: | %python -c 'import json, sys; json.dump(json.loads(sys.stdin.read()), sys.stdout, sort_keys=True, indent=2)' \
-// RUN: | FileCheck %s
-
-// CHECK: "traceEvents": [
-// CHECK: "args":
-// CHECK: "detail":
-// CHECK: "dur":
-// CHECK: "name": "Source"
-// CHECK-NEXT: "ph":
-// CHECK-NEXT: "pid":
-// CHECK-NEXT: "tid":
-// CHECK-NEXT: "ts":
-// CHECK: "name": "clang"
-// CHECK: "name": "process_name"
-
-#include <iostream>
-
-int main() {
- std::cout << "Foo" << std::endl;
- return 0;
-}
llvm::timeTraceProfilerWrite(*profilerOutput);
llvm::timeTraceProfilerCleanup();
-
- llvm::errs() << "Time trace json-file dumped to " << Path.str() << "\n";
- llvm::errs()
- << "Use chrome://tracing or Speedscope App "
- "(https://www.speedscope.app) for flamegraph visualization\n";
}
// Our error handler depends on the Diagnostics object, which we're