<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>