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