<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Thanks Lang.<br>
<br>
We are working on it (test-cases + ideas proposed by people on this
list).<br>
<br>
The production/optimization guys have to do this in-between customer
work. And a single realistic run takes hours. So progress is steady
but not fast.<br>
<br>
I will report results on llvm-dev when we have them.<br>
<br>
Cheers<br>
Morten<br>
<br>
<div class="moz-cite-prefix">On 13/02/16 05:32, Lang Hames wrote:<br>
</div>
<blockquote
cite="mid:CALLttgp7vba85uhTrAu8HWUoOK7LBz0cj+dhPdRYqyyAH4OyvA@mail.gmail.com"
type="cite">
<div dir="ltr">Thanks Morten,
<div><br>
</div>
<div>I'll check this out and confirm that these optimization
options are being plumbed through as expected.</div>
<div><br>
</div>
<div>Were you able to produce any test-cases that demonstrate
the slow-down in the end?</div>
<div><br>
</div>
<div>- Lang.</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Sun, Feb 7, 2016 at 5:00 PM, Morten
Brodersen <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:Morten.Brodersen@constrainttec.com"
target="_blank">Morten.Brodersen@constrainttec.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"> Hi Lang,<span
class=""><br>
<br>
> can you share your EngineBuilder configuration
lines?<br>
<br>
</span> Sure.<br>
<br>
The 3.5.2 version use:<br>
<br>
<big><big><tt> llvm::ExecutionEngine* ee =</tt><tt><br>
</tt><tt> llvm::EngineBuilder(module)</tt><tt><br>
</tt><tt>
.setEngineKind(llvm::EngineKind::JIT)</tt><tt><br>
</tt><tt>
.setOptLevel(llvm::CodeGenOpt::Aggressive)</tt><tt><br>
</tt><tt> .create();</tt><tt><br>
</tt><tt><br>
</tt><tt>
module->setDataLayout(ee->getTargetMachine()->getDataLayout());</tt><tt><br>
</tt></big></big><br>
And the 3.7.1 version use:<br>
<br>
<big><big><tt> llvm::EngineBuilder
builder(move(modulePtr));</tt><tt><br>
</tt><tt><br>
</tt><tt>
builder.setEngineKind(llvm::EngineKind::JIT);</tt><tt><br>
</tt><tt> builder.setErrorStr(&error);</tt><tt><br>
</tt><tt>
builder.setOptLevel(llvm::CodeGenOpt::Aggressive);</tt><tt><br>
</tt><tt><br>
</tt><tt> llvm::ExecutionEngine* ee =
builder.create();<br>
<br>
module->setDataLayout(*ee->getTargetMachine()->getDataLayout());<br>
</tt></big></big><br>
Cheers<span class="HOEnZb"><font color="#888888"><br>
Morten</font></span>
<div>
<div class="h5"><br>
<br>
<div>On 05/02/16 19:13, Lang Hames wrote:<br>
</div>
<blockquote type="cite">
<div>Hi Morten,</div>
<div><br>
</div>
<div>Something else just occurred to me: can you
share your EngineBuilder configuration lines? (<a
moz-do-not-send="true"
href="http://llvm.org/docs/doxygen/html/classllvm_1_1EngineBuilder.html"
target="_blank"><a class="moz-txt-link-freetext" href="http://llvm.org/docs/doxygen/html/classllvm_1_1EngineBuilder.html">http://llvm.org/docs/doxygen/html/classllvm_1_1EngineBuilder.html</a></a>)</div>
<div><br>
</div>
<div>In particular - are you explicitly setting the
optimization level? The old JIT may have had a
different default.</div>
<div><br>
</div>
<div>- Lang.</div>
<div><br>
</div>
<div><br>
<br>
Sent from my iPad</div>
<div><br>
On Feb 4, 2016, at 10:54 PM, Jim Grosbach via
llvm-dev <<a moz-do-not-send="true"
href="mailto:llvm-dev@lists.llvm.org"
target="_blank">llvm-dev@lists.llvm.org</a>>
wrote:<br>
<br>
</div>
<blockquote type="cite">
<div>
<div>I agree with Lang and Keno here. This is
both unexpected and very interesting. Given
the differences in defaults between the two, I
would have expected the new JIT to have better
performance but longer compile times. That you
are seeing the opposite implies there is
something very wrong and I'm very interested
to help figure out what it is. <br>
<br>
Sent from my iPad</div>
<div><br>
On Feb 4, 2016, at 9:12 PM, Morten Brodersen
via llvm-dev <<a moz-do-not-send="true"
href="mailto:llvm-dev@lists.llvm.org"
target="_blank">llvm-dev@lists.llvm.org</a>>
wrote:<br>
<br>
</div>
<blockquote type="cite">
<div> Hi Keno,<br>
<br>
I am talking about runtime. The performance
of the generated machine code. Not the time
it takes to lower the IR to machine code.<br>
<br>
We typically only JIT once (taking a few
secs) and then run the generated machine
code for hours. So the JIT time (IR ->
machine code) doesn't impact us.<br>
<br>
Cheers<br>
Morten<br>
<br>
<div>On 05/02/16 15:58, Keno Fischer wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Actually, reading over all
of this again, I realize I may have made
the wrong statement. The runtime
regressions we see in julia are actually
regressions in how long LLVM itself
takes to do the compilation (but since
it happens at run time in the JIT case,
I think of it as a regression in our
running time). We have only noticed
occasional regressions in the
performance of the generated code (which
we are in the process of fixing). Which
kind of regression are you talking
about, time taken by LLVM or time taken
by the LLVM-generated code?</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Thu, Feb 4,
2016 at 11:44 PM, Rafael Espíndola <span
dir="ltr"><<a
moz-do-not-send="true"
href="mailto:llvm-dev@lists.llvm.org"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a></a>></span>
wrote:<br>
<blockquote class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex">On 4
February 2016 at 22:48, Morten
Brodersen via llvm-dev<br>
<span><<a moz-do-not-send="true"
href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>>
wrote:<br>
> Hi Rafael,<br>
><br>
> Not easily (llc).<br>
><br>
> Is there a way to make MCJit
not use the large code model when
JIT'ing?<br>
><br>
<br>
</span>I think Davide started adding
support for the small code model.<br>
<br>
Cheers,<br>
Rafael<br>
<div>
<div>_______________________________________________<br>
LLVM Developers mailing list<br>
<a moz-do-not-send="true"
href="mailto:llvm-dev@lists.llvm.org"
target="_blank">llvm-dev@lists.llvm.org</a><br>
<a moz-do-not-send="true"
href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev"
rel="noreferrer"
target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</blockquote>
<blockquote type="cite">
<div><span>_______________________________________________</span><br>
<span>LLVM Developers mailing list</span><br>
<span><a moz-do-not-send="true"
href="mailto:llvm-dev@lists.llvm.org"
target="_blank">llvm-dev@lists.llvm.org</a></span><br>
<span><a moz-do-not-send="true"
href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev"
target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a></span><br>
</div>
</blockquote>
</div>
</blockquote>
<blockquote type="cite">
<div><span>_______________________________________________</span><br>
<span>LLVM Developers mailing list</span><br>
<span><a moz-do-not-send="true"
href="mailto:llvm-dev@lists.llvm.org"
target="_blank">llvm-dev@lists.llvm.org</a></span><br>
<span><a moz-do-not-send="true"
href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev"
target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a></span><br>
</div>
</blockquote>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</body>
</html>