[PATCH] D16134: [CMake] Support generation of linker order files using dtrace

Chris Bieneman via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 12 23:23:40 PST 2016


beanz created this revision.
beanz added reviewers: ddunbar, bogner, silvas.
beanz added a subscriber: llvm-commits.
Herald added a subscriber: emaste.

This patch extends the lit-based perf-training tooling supplied for PGO data generation to also generate linker order files using dtrace.

This patch should work on any system that has dtrace. If CMake can find the dtrace tool it will generate a target 'generate-order-file' which will run the per-training tests wrapped by dtrace to capture function entries. There are several algorithms implemented for sorting the order files which can be experimented with for best performance. The dtrace wrapper also supports bot oneshot and pid probes.

The perf-helper.py changes to support order file construction are ported from internal changes by ddunbar; he gets all the credit for the hard work here, I just copy and pasted.

Note: I've tested these patches on FreeBSD and OS X 10.10.

http://reviews.llvm.org/D16134

Files:
  utils/perf-training/CMakeLists.txt
  utils/perf-training/order-files.lit.cfg
  utils/perf-training/order-files.lit.site.cfg.in
  utils/perf-training/perf-helper.py

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16134.44712.patch
Type: text/x-patch
Size: 18070 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160113/f8d04d0a/attachment.bin>


More information about the llvm-commits mailing list