<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Hi Kirill,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">> diff -urN ./include/llvm/ExecutionEngine/jitprofiling.h ./include/llvm/ExecutionEngine/jitprofiling.h<o:p></o:p></p>
<p class="MsoNormal">> --- ./include/llvm/ExecutionEngine/jitprofiling.h               1970-01-01 03:00:00.000000000 +0300<o:p></o:p></p>
<p class="MsoNormal">> +++ ./include/llvm/ExecutionEngine/jitprofiling.h             2012-07-10 14:03:55.000000000 +0400<o:p></o:p></p>
<p class="MsoNormal">> @@ -0,0 +1,219 @@<o:p></o:p></p>
<p class="MsoNormal">> +//===-- jitprofiling.h - Intel(R) Performance Analyzer JIT (Just-In-Time) Profiling API.  ---------===//<o:p></o:p></p>
<p class="MsoNormal">> +//<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">> --- ./lib/ExecutionEngine/IntelJITEvents/jitprofiling.c      1970-01-01 03:00:00.000000000 +0300<o:p></o:p></p>
<p class="MsoNormal">> +++ ./lib/ExecutionEngine/IntelJITEvents/jitprofiling.c    2012-07-10 14:25:51.000000000 +0400<o:p></o:p></p>
<p class="MsoNormal">> @@ -0,0 +1,451 @@<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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:
<a href="http://llvm.org/docs/CodingStandards.html#coding-standards">http://llvm.org/docs/CodingStandards.html#coding-standards</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">> --- ./configure 2012-05-12 00:48:57.000000000 +0400<o:p></o:p></p>
<p class="MsoNormal">> +++ ./configure              2012-07-10 11:41:11.000000000 +0400<o:p></o:p></p>
<p class="MsoNormal">> @@ -1452,10 +1452,7 @@<o:p></o:p></p>
<p class="MsoNormal">[…]<o:p></o:p></p>
<p class="MsoNormal">+  --with-intel-jitevents  Use Intel JIT API profiling to symbolize dynamically generared code<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">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.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Stefanus<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">--<o:p></o:p></p>
<p class="MsoNormal">Stefanus Du Toit <a href="mailto:stefanus.du.toit@intel.com">
stefanus.du.toit@intel.com</a><o:p></o:p></p>
<p class="MsoNormal">  Intel Dynamic Mobility and Parallelism<o:p></o:p></p>
<p class="MsoNormal">  Intel Waterloo<o:p></o:p></p>
<p class="MsoNormal">  phone: +1 519 772 2576<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> llvm-commits-bounces@cs.uiuc.edu [mailto:llvm-commits-bounces@cs.uiuc.edu]
<b>On Behalf Of </b>Uhanov, Kirill<br>
<b>Sent:</b> Thursday, July 12, 2012 10:07 AM<br>
<b>To:</b> llvm-commits@cs.uiuc.edu<br>
<b>Cc:</b> Pravdin, Denis; Kuanbekov, Artyom<br>
<b>Subject:</b> [llvm-commits] PATCH. Fix of hang during intel jit profiling.<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi. All.<o:p></o:p></p>
<p class="MsoNormal">Could you review patch for Intel JIT API support?<o:p></o:p></p>
<p class="MsoNormal">Patch includes fix for hanging on freeing machine code call (IntelJITEventListener::NotifyFreeingMachineCode) – Wrappe<span style="color:#1F497D">r</span> object is destroyed in this time.<o:p></o:p></p>
<p class="MsoNormal">The 2<sup>nd</sup> 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.<o:p></o:p></p>
<p class="MsoNormal">Thanks, Kirill<o:p></o:p></p>
<p class="MsoNormal"><span lang="RU" style="font-size:12.0pt;font-family:"Courier New""><br>
--------------------------------------------------------------------<br>
Closed Joint Stock Company Intel A/O<br>
Registered legal address: Krylatsky Hills Business Park, <br>
17 Krylatskaya Str., Bldg 4, Moscow 121614, <br>
Russian Federation<br>
<br>
This e-mail and any attachments may contain confidential material for<br>
the sole use of the intended recipient(s). Any review or distribution<br>
by others is strictly prohibited. If you are not the intended<br>
recipient, please contact the sender and delete all copies.</span><span lang="RU" style="font-size:12.0pt;font-family:"Times New Roman","serif""><o:p></o:p></span></p>
</div>
</div>
</body>
</html>