<div dir="rtl"><div dir="ltr">If someone encounters this problem here is my workaround code,</div><div dir="ltr"><br></div><div dir="ltr">globals:</div><div dir="ltr"><br></div><div dir="ltr"><div dir="ltr"><font face="courier new, monospace">  llvm::OwningPtr<llvm::ExecutionEngine> m_EE;</font></div>

<div dir="ltr"><font face="courier new, monospace">  llvm::Module* m_LastModule;</font></div><div><br></div></div><div dir="ltr"><br></div><div dir="ltr">after making module:</div><div dir="ltr"><br></div><div dir="ltr">
<div dir="ltr">
<font face="courier new, monospace">  if (!m_EE) {</font></div><div dir="ltr"><font face="courier new, monospace">    m_EE.reset(llvm::EngineBuilder(m_LastModule)</font></div><div dir="ltr"><font face="courier new, monospace">                   .setErrorStr(&Error)</font></div>

<div dir="ltr"><font face="courier new, monospace">                   .setUseMCJIT(true)</font></div><div dir="ltr"><font face="courier new, monospace">                   .create());</font></div><div dir="ltr"><font face="courier new, monospace">  } else {</font></div>

<div dir="ltr"><font face="courier new, monospace">    m_EE->addModule(m_LastModule);</font></div><div dir="ltr"><font face="courier new, monospace">  }</font></div><div><br></div><div><br></div><div>Yaron</div><div><br>

</div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div dir="ltr">2013/10/17 Kaylor, Andrew <span dir="ltr"><<a href="mailto:andrew.kaylor@intel.com" target="_blank">andrew.kaylor@intel.com</a>></span></div>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">I agree that this would be useful.  One minor stumbling block is that the EngineBuilder uses the supplied Module to determine the target triple when creating
 the TargetMachine.  Obviously that could be handled with different EngineBuilder usage (the API may even already be there for that).  It’s just something to consider.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">-Andy<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<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""> Yaron Keren [mailto:<a href="mailto:yaron.keren@gmail.com" target="_blank">yaron.keren@gmail.com</a>]
<br>
<b>Sent:</b> Thursday, October 17, 2013 12:46 PM<br>
<b>To:</b> <<a href="mailto:llvmdev@cs.uiuc.edu" target="_blank">llvmdev@cs.uiuc.edu</a>>; Kaylor, Andrew<br>
<b>Subject:</b> ExecutionEngine should have a non-Module creator<u></u><u></u></span></p><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">With the support of Multi-modules, it makes sense to have a creator / constructor for ExecutionEngine that does not require a module.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">The use-case is a program using one EE created at initialization that holds many modules created later, as needed. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Workaround for current API could be<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">1) using a pointer to EE init with NULL, delaying the actual EE construction to the time the first module is ready and skipping construction with later modules.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">or<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">2) supplying a dummy Module to the creator and then removeModule(M).<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Yaron<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div></div></div>
</div>

</blockquote></div><br></div>