This patch adds microbenchmarks for the XRay Profiling Mode
implementation to the test-suite.
The benchmarks included cover:
- Cost of the Profiling Mode runtime handler(s) and underlying implementation details when enabled.
- Different benchmarks for different call stack traces. Initially showing deep, shallow, and wide function call stacks.
These microbenchmarks can be used to measure progress on the
optimisation work associated with the profiling mode runtime
implementation going forward. It also allows us to better qualify the
cost of the XRay runtime framework (in particular the trampolines) as we
make improvements to those in the future.
Depends on D48653.
I think there needs to be a llvm_test_run() for each test executable. Otherwise lit fails like this:
This worked for me:
However, the tests are flaky when run together, see below.