<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:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" 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 12 (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:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","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;}
span.apple-style-span
        {mso-style-name:apple-style-span;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
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-GB link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hi Xin,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>What were the original numbers before adaptive compilation?<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Cheers,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>James<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US 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>Xin Tong Utoronto<br><b>Sent:</b> 04 July 2011 16:14<br><b>To:</b> llvm-commits@cs.uiuc.edu<br><b>Subject:</b> [llvm-commits] [llvm jit adaptive-compilation] : Adaptive compilation framework x86 Patch<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal style='mso-margin-top-alt:auto'>Hi All<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>This patch is intended to provide support for LLVM JIT adaptive compilation on x86 platforms. The implementation of the adaptive compilation framework is one of the Google Summer of Code 2011 projects (<a href="http://www.google-melange.com/gsoc/project/google/gsoc2011/timexerox/8001" target="_blank"><span style='color:windowtext'>http://www.google-melange.com/gsoc/project/google/gsoc2011/timexerox/8001</span></a>).  The patch is created against the LLVM branch below. It is currently reviewed by Eric Christoper@Apple and will be applied to the LLVM branch (<a href="https://echristo/" target="_blank"><span style='color:windowtext'>https://echristo</span></a>@<a href="http://llvm.org/svn/llvm-project/llvm/branches/GSoC/adaptive-compilation" target="_blank"><span style='color:windowtext'>llvm.org/svn/llvm-project/llvm/branches/GSoC/adaptive-compilation</span></a>). But more eyes are definitely welcome. Originally, the LLVM adaptive compilation framework was intended to be applied to LLVM head stream, but due to concerns regarding the upcoming major changes on ExecutionEngine and MCJIT. it is now worked in a branch and hopefully applied to the head stream once the MCJIT changes have been completed.<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'><o:p> </o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'><u><span style='font-size:14.0pt'>This patch involves changes to </span></u><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>include/llvm/Target/TargetJITInfo.h<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>lib/Target/X86/X86JITInfo.h<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>lib/Target/X86/X86JITInfo.cpp<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>lib/Target/ARM/ARMJITInfo.h<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>lib/Target/ARM/ARMJITInfo.cpp<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>lib/Target/PowerPC/PPCJITInfo.h<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>lib/Target/PowerPC/PPCJITInfo.cpp<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>lib/ExecutionEngine/JIT/JITEmitter.cpp<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>lib/ExecutionEngine/JIT/JIT.h<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>lib/ExecutionEngine/JIT/JIT.cpp<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'><u><span style='font-size:14.0pt'>This was tested on x86 and x86-64 under Ubuntu with</span></u><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'><o:p> </o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>llvm test-suite<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'><u><span style='font-size:14.0pt'>There were no regressions for the O0 - O3 JIT compilation. Additionally, adaptive compilation currently gives better performance numbers than O1 - O3 as shown.</span></u><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>lli -O0<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:12.0pt'>Total Time is 1068.37<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>lli -O1<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>Total Time is 1395.68<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>lli -O2<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>Total Time is 1394.81<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>lli -O3<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>Total Time is 1395.76<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>lli -adaptive-comp<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>Total Time is 1119.23<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>Thank You<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto'>Xin Tong <o:p></o:p></p></div></div></div></body></html>