[PATCH] D21987: [XRay] Initial XRay Function Call Accounting Tool

Dean Michael Berris via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 28 23:10:27 PDT 2016


dberris updated this revision to Diff 69533.
dberris added a comment.

Fairly substantial update that shows the overall structure (or direction) of how this tooling should develop/evolve as we add more subcommands.

There's a lot here to be looked at, and I think it's a good idea to start picking this apart into smaller self-contained pieces.

Reviewers, please specifically have a look at:

- Overall structure/design. I suspect there are better ways to subdivide and remove repetitions in some places. Happy to get feedback on those and start evolving this to a cleaner state even before submit.
- Stylistic issues. Specifically for things like documentation, file organisation, etc. (still fairly new to the LLVM coding guidelines).

The state of this patch now is as follows:

1. We have a tool for extracting the instrumentation map from an xray-instrumented binary (currently just ELF 64-bit for now) and turns it into YAML or JSON.
2. We have a tool for converting an XRay trace from binary to YAML. We follow the naive logging format that's already in compiler-rt.
3. We have a tool for doing some basic function call accounting.

These three tools are implemented as subcommands.


https://reviews.llvm.org/D21987

Files:
  test/CMakeLists.txt
  test/tools/llvm-xray/X86/convert-roundtrip.yaml
  test/tools/llvm-xray/X86/extract-instrmap.ll
  test/tools/llvm-xray/X86/lit.local.cfg
  tools/CMakeLists.txt
  tools/llvm-xray/CMakeLists.txt
  tools/llvm-xray/func-id-helper.cc
  tools/llvm-xray/func-id-helper.h
  tools/llvm-xray/llvm-xray.cc
  tools/llvm-xray/xray-account.cc
  tools/llvm-xray/xray-account.h
  tools/llvm-xray/xray-converter.cc
  tools/llvm-xray/xray-converter.h
  tools/llvm-xray/xray-extract.cc
  tools/llvm-xray/xray-extract.h
  tools/llvm-xray/xray-fc-account.cc
  tools/llvm-xray/xray-log-reader.cc
  tools/llvm-xray/xray-log-reader.h
  tools/llvm-xray/xray-record-yaml.h
  tools/llvm-xray/xray-record.h
  tools/llvm-xray/xray-sleds.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21987.69533.patch
Type: text/x-patch
Size: 77678 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160829/8596092b/attachment-0001.bin>


More information about the llvm-commits mailing list