[llvm-dev] RFC: XRay -- A Function Call Tracing System

Dean Michael Berris via llvm-dev llvm-dev at lists.llvm.org
Thu Jul 14 04:32:42 PDT 2016


Apologies for bringing up an old thread, but I just wanted to give an
update on this effort:

- We have now submitted upstream the first step in the core implementation
of XRay in LLVM adding nop-sleds for function entry and "normal" exits.
We'll be documenting the set of attributes that control this behaviour in
earnest as soon as the feature set is more complete.
- Flag support in clang (-fxray-instrument, etc.) is also already upstream.
Documentation for controlling the features will be forthcoming too as soon
as the features we'd like to implement are available and more complete.
- The compiler-rt side of the implementation is now being worked on
actively. We have both the base compiler-rt library and a naive in-memory
log implementation that does very basic entry/exit logging.

We also have a work-in-progress function call accounting tool which
temporarily is going to be in the tools/xray/ directory (in llvm). One of
the original questions in the RFC, as to whether we have a separate project
for XRay to host the tooling around the traces is another question. For now
it looks like it's fine to have all the tooling implementation in the
tools/xray/ directory, implemented and distributed as part of LLVM, and
potentially growing the list of analyses for the traces generated by XRay.

Expect updates as soon as we have more news and questions along the way.

Cheers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160714/18f27c53/attachment.html>


More information about the llvm-dev mailing list