[llvm-commits] PATCH. Fix of hang during intel jit profiling.

Uhanov, Kirill kirill.uhanov at intel.com
Thu Jul 12 08:30:29 PDT 2012


Hi Stefanus.
I added jitprofiling.h to 'include/llvm/ExecutionEngine' because 'include/llvm/ExecutionEngine/IntelJITEventsWrapper.h' depends on it and I could not located it to 'lib'.
Jitprofiling.h, jitprofiling.c, ittnotify_types.h, ittnotify_config.h are distributed with Intel Amplifier sdk and could be included to different projects with GPL or BSD license(depends on project). I mean this code is dual licensed.
So I'd like to stay these files as is because it helps to make easy update of them if need to do that at future. We could simply replace them.
Thanks, Kirill

From: Du Toit, Stefanus
Sent: Thursday, July 12, 2012 7:12 PM
To: Uhanov, Kirill; llvm-commits at cs.uiuc.edu
Cc: Pravdin, Denis; Kuanbekov, Artyom
Subject: RE: PATCH. Fix of hang during intel jit profiling.

Hi Kirill,

> diff -urN ./include/llvm/ExecutionEngine/jitprofiling.h ./include/llvm/ExecutionEngine/jitprofiling.h
> --- ./include/llvm/ExecutionEngine/jitprofiling.h               1970-01-01 03:00:00.000000000 +0300
> +++ ./include/llvm/ExecutionEngine/jitprofiling.h             2012-07-10 14:03:55.000000000 +0400
> @@ -0,0 +1,219 @@
> +//===-- jitprofiling.h - Intel(R) Performance Analyzer JIT (Just-In-Time) Profiling API.  ---------===//
> +//

I don't think this belongs directly into include/llvm/ExecutionEngine - does this header actually need to be visible to users of LLVM or only internally? Seems like this should go into lib/ExecutionEngine/IntelJITEvents/, or somewhere specifically for externally sourced files.

> --- ./lib/ExecutionEngine/IntelJITEvents/jitprofiling.c      1970-01-01 03:00:00.000000000 +0300
> +++ ./lib/ExecutionEngine/IntelJITEvents/jitprofiling.c    2012-07-10 14:25:51.000000000 +0400
> @@ -0,0 +1,451 @@

Again, if this is going into LLVM itself, it should follow LLVM coding guidelines. For example, it should use C++ style comments, stick to 80 columns, etc. All the details are here: http://llvm.org/docs/CodingStandards.html#coding-standards

If this is meant to be synced up with something external, maybe it makes sense to keep it this way, but I'll let someone else chime in as to where it should be best located and how it should be marked in that case.

> --- ./configure 2012-05-12 00:48:57.000000000 +0400
> +++ ./configure              2012-07-10 11:41:11.000000000 +0400
> @@ -1452,10 +1452,7 @@
[...]
+  --with-intel-jitevents  Use Intel JIT API profiling to symbolize dynamically generared code

Typo - "generared". Also, I'm not sure what "symbolize" is supposed to mean, perhaps "Notify Intel JIT profiling API of generated code" would be a better description.

Stefanus

--
Stefanus Du Toit stefanus.du.toit at intel.com<mailto:stefanus.du.toit at intel.com>
  Intel Dynamic Mobility and Parallelism
  Intel Waterloo
  phone: +1 519 772 2576

From: llvm-commits-bounces at cs.uiuc.edu<mailto:llvm-commits-bounces at cs.uiuc.edu> [mailto:llvm-commits-bounces at cs.uiuc.edu]<mailto:[mailto:llvm-commits-bounces at cs.uiuc.edu]> On Behalf Of Uhanov, Kirill
Sent: Thursday, July 12, 2012 10:07 AM
To: llvm-commits at cs.uiuc.edu<mailto:llvm-commits at cs.uiuc.edu>
Cc: Pravdin, Denis; Kuanbekov, Artyom
Subject: [llvm-commits] PATCH. Fix of hang during intel jit profiling.

Hi. All.
Could you review patch for Intel JIT API support?
Patch includes fix for hanging on freeing machine code call (IntelJITEventListener::NotifyFreeingMachineCode) - Wrapper object is destroyed in this time.
The 2nd thing is removing dependency from Intel(R) VTune(TM) Amplifier jitprofiling static library. That helps to simplify LLVM builds and makes it possible to support Amplifier without having it around at build time.
Thanks, Kirill

--------------------------------------------------------------------
Closed Joint Stock Company Intel A/O
Registered legal address: Krylatsky Hills Business Park,
17 Krylatskaya Str., Bldg 4, Moscow 121614,
Russian Federation

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.

--------------------------------------------------------------------
Closed Joint Stock Company Intel A/O
Registered legal address: Krylatsky Hills Business Park, 
17 Krylatskaya Str., Bldg 4, Moscow 121614, 
Russian Federation

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 --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120712/33ff572e/attachment.html>


More information about the llvm-commits mailing list