octave-maintainers
[Top][All Lists]
Advanced

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

JIT through LLVM


From: John W. Eaton
Subject: JIT through LLVM
Date: Mon, 14 Jan 2008 04:05:53 -0500

On 13-Jan-2008, Muthiah Annamalai wrote:

|  I was thinking if we could use LLVM (parallel Virtual Machine, 
|  http://llvm.org)
|  IR-code and JIT engine as possible backend / target for Octave
|  code. This could start from the existing AST-walker and emit code.
|  
|  LLVM is a C++ library, and from the looks of the tutorials very
|  powerful, as they implement the complicated optimizations like
|  dead-code elimination, eliminating common sub-expressions and
|  such.
|  
|  So if we could manage to convert the Octave AST to LLVM IR, then
|  much of the problems of the lack-of-JIT would be solved; atleast in
|  principle.
|  
|  However someone with time and expertise needs to look into this.
|  
|  Im just posting this email, so if anyone is working on trying to
|  bring JIT support, can take a look at this, and also serve as a pointer. 

I think the hard part is still type inferencing.  Without that, I
don't think you gain much.  Or maybe you are thinking that we would
only compile functions as they are called?  In that case we know the
types of arguments for the given function call and might not have to
do as much work, or leave as many values as generic octave_value
objects.  OTOH, that would mean possibly compiling multiple variants
of the same function if it is called with different types of
arguments.

In any case, it would be a good project for a long series of rainy
days.

jwe


reply via email to

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