This is an archive of the discontinued LLVM Phabricator instance.

Port Linux Perf converter to LLVM
AbandonedPublic

Authored by dnovillo on Aug 11 2014, 11:58 AM.

Details

Summary

This patch is the full version of the 5 individual patches that port
the Perf converter from https://github.com/google/autofdo.

The earlier patches are described in detail at:

http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140728/228671.html
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140728/228675.html
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140728/228673.html
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140728/228674.html
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140728/228672.html

I tried creating 5 individual phabricator issues for this, but they are
very hard to maintain as they are all in the same tree. Phabricator does
not make this easy in any way.

Main changes:

  • Remove unused parts of LinuxPerf/utils.cc to avoid -lcrypto dependency.
  • Add -Wno-pedantic for LinuxPerf
  • Removed all the unused code.
  • Removed all traces of base/, glog/ and gflags/
  • Add samplepgo namespace. Rename ProfileCreator to SampleProfileConverter.
  • Add LLVM copyright headers.
  • Add support for autoconf.

Diff Detail

Event Timeline

dnovillo updated this revision to Diff 12362.Aug 11 2014, 11:58 AM
dnovillo retitled this revision from to This patch is the full version of the 5 individual patches that port the Perf converter from https://github.com/google/autofdo. The earlier patches are described in detail at: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon....
dnovillo updated this object.
dnovillo edited the test plan for this revision. (Show Details)
dnovillo added reviewers: chandlerc, echristo, bogner.
dnovillo added a subscriber: Unknown Object (MLST).
dnovillo retitled this revision from This patch is the full version of the 5 individual patches that port the Perf converter from https://github.com/google/autofdo. The earlier patches are described in detail at: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon... to Port Linux Perf converter to LLVM.Aug 11 2014, 12:00 PM
dnovillo updated this object.
emaste added a subscriber: emaste.Aug 12 2014, 11:25 AM
dnovillo updated this revision to Diff 12512.Aug 14 2014, 9:00 AM

Add tests for Linux Perf converter.

Other changes:

  • Nullify verbose logging by directing messages to nulls.
  • Add support to use -o - to emit a profile to stdout.
dnovillo updated this revision to Diff 12569.Aug 15 2014, 12:29 PM

Main changes:

  • Address review feedback.
  • Change profiler kind to be an enum instead of a string.
dnovillo updated this revision to Diff 12623.Aug 18 2014, 9:01 AM
  • Use StringRef instead of string references. Minor formatting fixes.
dnovillo updated this revision to Diff 12704.Aug 20 2014, 8:53 AM
  • Rename .cc files to .cpp in the main PerfConverter directory.