octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #51574] Build failure with --enable-jit with L


From: Julien Bect
Subject: [Octave-bug-tracker] [bug #51574] Build failure with --enable-jit with LLVM 3.8
Date: Mon, 31 Jul 2017 06:57:25 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0

Follow-up Comment #5, bug #51574 (project octave):

Here is a significant improvement over the previous series of patches.

The difference between the old LLVM JIT (used in Max Brister's code) and the
newer MC-JIT is that a new module must be created each time.  It is not
possible to modify a module after finalizeObject has been called.  This is
explained here:

http://blog.llvm.org/2013/07/using-mcjit-with-kaleidoscope-tutorial.html

This new series of patches creates a new module for each
jit_info/jit_function_info object, which solves the problem:


octave:1> tic;  z = test_pisum (),  toc
z =  1.6448
Elapsed time is 11.7024 seconds.
octave:2> tic;  z = test_pisum2 (),  toc
z =  1.2021
Elapsed time is 15.2687 seconds.

octave:3> jit_enable (1)

octave:4> tic;  z = test_pisum (),  toc
z =  1.6448
Elapsed time is 0.0859451 seconds.
octave:5> tic;  z = test_pisum2 (),  toc
z =  1.2021
Elapsed time is 0.0826061 seconds.
octave:6> tic;  z = test_pisum (),  toc
z =  1.6448
Elapsed time is 0.088553 seconds.


BISTs still do not pass, but this is already much better ;-)


(file #41372)
    _______________________________________________________

Additional Item Attachment:

File name: stable-jit-LLVM38-patches-v5.tar.gz Size:7 KB


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?51574>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]