<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style>@font-face {
        font-family: Calibri;
}
@font-face {
        font-family: Tahoma;
}
@page WordSection1 {margin: 1.0in 1.0in 1.0in 1.0in; }
P.MsoNormal {
        MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","serif"; FONT-SIZE: 12pt
}
LI.MsoNormal {
        MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","serif"; FONT-SIZE: 12pt
}
DIV.MsoNormal {
        MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","serif"; FONT-SIZE: 12pt
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.EmailStyle17 {
        FONT-FAMILY: "Calibri","sans-serif"; COLOR: #1f497d
}
.MsoChpDefault {
        FONT-FAMILY: "Calibri","sans-serif"
}
</style><style id="owaParaStyle">P {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
</style>
</head>
<body lang="EN-US" vlink="purple" link="blue" fPStyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">
<p>Hi Andy and Andrew,</p>
<p> </p>
<p>I am very interested in this discussion as our co. have critical components that are dependent on the old JIT.  We have implemented support for MCJIT mostly to get AVX support.  The difference in module support is forcing us to duplicate a module when we
 want to JIT the same bitcode with different parameters.  We also have code that depends on the JITEventListener API.</p>
<p> </p>
<p>Cheers.</p>
<div style="FONT-FAMILY: Times New Roman; COLOR: #000000; FONT-SIZE: 16px">
<hr tabindex="-1">
<div style="DIRECTION: ltr" id="divRpF160718"><font color="#000000" size="2" face="Tahoma"><b>From:</b> llvmdev-bounces@cs.uiuc.edu [llvmdev-bounces@cs.uiuc.edu] on behalf of Kaylor, Andrew [andrew.kaylor@intel.com]<br>
<b>Sent:</b> Tuesday, February 05, 2013 10:08 AM<br>
<b>To:</b> Andrew Sorensen; llvmdev@cs.uiuc.edu<br>
<b>Subject:</b> Re: [LLVMdev] MCJIT and Lazy Compilation<br>
</font><br>
</div>
<div></div>
<div>
<div class="WordSection1">
<p class="MsoNormal"><span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">Hi Andrew,</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"></span> </p>
<p class="MsoNormal"><span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">I was about to write a belated reply to this message (sorry for the delay), but then I realized that pretty much everything useful that I have to say on
 the subject is contained in this message (which is in a thread Albert Graef already linked to):</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"></span> </p>
<p class="MsoNormal"><span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><a href="https://groups.google.com/d/msg/llvm-dev/Rk9cWdRX0Wg/Fa1Mn6cyS9UJ" target="_blank">https://groups.google.com/d/msg/llvm-dev/Rk9cWdRX0Wg/Fa1Mn6cyS9UJ</a></span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"></span> </p>
<p class="MsoNormal"><span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">Generally, I do hope that MCJIT will be capable of replacing the old JIT someday soon, though obviously it cannot do so until it provides equivalent functionality. 
 I doubt it will ever be a “drop-in” replacement, but I hope that minimal rework will be needed.  Most significantly, as can be seen in earlier discussions, things will need to be made Module-centric rather than Function-centric.  It ought to be possible to
 write a utility class that takes a monolithic Module and breaks it up into sub-Modules for individual functions, but I think that would need to happen outside of the MCJIT engine because not all clients would want that kind of granularity.</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"></span> </p>
<p class="MsoNormal"><span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">There’s definitely a lot of work to be done here to get this right, and hopefully we’ll get active participation in any design discussions to make sure the
 solution meets everyone’s needs.  I don’t have a time table for this right now.  I will file a Bugzilla report as soon as the LLVM server is ready.</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"></span> </p>
<p class="MsoNormal"><span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">-Andy</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"></span> </p>
<p class="MsoNormal"><b><span style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt">From:</span></b><span style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt"> llvmdev-bounces@cs.uiuc.edu [mailto:llvmdev-bounces@cs.uiuc.edu]
<b>On Behalf Of </b>Andrew Sorensen<br>
<b>Sent:</b> Thursday, January 31, 2013 7:56 PM<br>
<b>To:</b> llvmdev@cs.uiuc.edu<br>
<b>Subject:</b> [LLVMdev] MCJIT and Lazy Compilation</span></p>
<p class="MsoNormal"> </p>
<div>
<div>
<div>
<p class="MsoNormal">Does anyone have a roadmap for MCJIT with what I think people are </p>
</div>
<div>
<p class="MsoNormal">calling lazy compilation.</p>
</div>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">Is this even on the cards?</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">I spent the last few hours moving my project (<a href="http://extempore.moso.com.au" target="_blank">extempore.moso.com.au</a>) </p>
</div>
<div>
<p class="MsoNormal">over to MCJIT (particularly for ARM), and am a little horrified to discover </p>
</div>
<div>
<p class="MsoNormal">no ability to compile, and just as importantly to recompile, at a function level.  </p>
</div>
<div>
<p class="MsoNormal">This is absolutely mandatory for my project.  </p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">I have been looking enviously at MCJIT's ARM+DWARF support for a </p>
</div>
<div>
<p class="MsoNormal">couple of years and was under the misapprehension that MCJIT was </p>
</div>
<div>
<p class="MsoNormal">attempting to be a *drop-in* replacement for JIT.  So I wasn't overly</p>
</div>
<div>
<p class="MsoNormal">concerned about the primary JIT being largely neglected. This is obviously</p>
</div>
<div>
<p class="MsoNormal">my fault, I wasn't paying close enough attention.</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">I am now wondering what the LLVM project, in the large, plans regarding </p>
</div>
<div>
<p class="MsoNormal">just-in-time compilation moving forward.  Is MCJIT the future, and</p>
</div>
<div>
<p class="MsoNormal">if so what kind of roadmap is there to replicate current JIT functionality. </p>
</div>
<div>
<p class="MsoNormal">In my case in relation to function level (re)compilation.</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">I appreciate everyones efforts, and that we all have our own agendas.</p>
</div>
<div>
<p class="MsoNormal">I'm just trying to put my own roadmap in place.</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">Cheers,</p>
</div>
<div>
<p class="MsoNormal">Andrew.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>