[llvm-commits] [PATCH] JIT profiling support with Intel Parallel Amplifier XE 2011 (VTune)

Bendersky, Eli eli.bendersky at intel.com
Tue Jan 31 01:19:18 PST 2012


Hello,

Currently the only profiling LLVM JITted code support is via OProfile. This patch adds profiling support for Intel Parallel Amplifier XE 2011 (used to be called "VTune"), does some refactoring to share code between the implementations, and adds unit tests both for the existing OProfile interface and the new Amplifier XE interface. In more detail:

- Added Intel JIT Events API compatible JITEventListener, and allow OProfileJITEventListener to load libopagent.so at runtime 
- Removed link-time requirement on libopagent when building with OProfile support 
- Added Intel JIT API and OProfile support to cmake builds (Boolean options LLVM_USE_OPROFILE and LLVM_USE_INTEL_JITEVENTS) 
- Added IntelJITEventListener to connect to Intel JIT API (support for profiling with Parallel Amplifier XE 2011) 
- Added unit tests for both IntelJIT and OProfile JITEventListener implementations which can still be run in the absence the respective 3rd party libraries 

The change was broken into several patches. The first contains the new implementation and tests. The others are build system changes to incorporate the new code.

This is essentially similar to the patch sent by Daniel Malea in the beginning of December, but which unfortunately hasn't received a reply. We updated it to cleanly apply to SVN trunk.

Please review

Eli


---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-intel_jitevents_impl_and_tests_v2.patch
Type: application/octet-stream
Size: 48715 bytes
Desc: 0001-intel_jitevents_impl_and_tests_v2.patch
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120131/c94ab33f/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-intel_jitevents_cmake_v2.patch
Type: application/octet-stream
Size: 4550 bytes
Desc: 0002-intel_jitevents_cmake_v2.patch
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120131/c94ab33f/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-intel_jitevents_automake_v2.patch
Type: application/octet-stream
Size: 4169 bytes
Desc: 0003-intel_jitevents_automake_v2.patch
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120131/c94ab33f/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-intel_jitevents_autogenerated_v2.patch
Type: application/octet-stream
Size: 14098 bytes
Desc: 0004-intel_jitevents_autogenerated_v2.patch
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120131/c94ab33f/attachment-0003.obj>


More information about the llvm-commits mailing list