|
From: | Paul Cercueil |
Subject: | Re: Using Lighning instead of LLVM in Faust |
Date: | Sat, 29 Feb 2020 11:17:07 -0300 |
Le sam., févr. 29, 2020 at 14:05, Stéphane Letz <address@hidden> a écrit :
Thanks.Reading the documentation I understand that Lightning is quite lower level (compared to MIR https://github.com/vnmakarov for instance) since the API directly deals with registers yes? So the API user has to so his own « register allocation/handling machinery »? There is no notion on an infinite set of variables that can be defined and used ?
One thing I will add - MIR and Lightning have different scopes; MIR is a JIT engine tailored for programming languages, while Lightning can be best described as a code generator. MIR would be unsuitable for some tasks Lightning is good for, e.g. writing dynamic recompilers. On the other hand, MIR provides much more support for implementing programming languages.
What would be interesting is a Lightning backend for MIR; then MIR would take care of IR optimization and register allocation, and it would run on the wide range of archs supported by Lightning.
- Paul
StéphaneLe 24 févr. 2020 à 16:30, Paul Cercueil <address@hidden> a écrit :Hi Stéphane,The current code would need some small changes to work without a MMU (does the ESP32 have one?) but for the rest Lightning does the job just fine.-PaulLe dim., févr. 23, 2020 at 13:34, Stéphane Letz <address@hidden> a écrit :Hi,I'm a investigating the use of Lighning instead of the already implemented LLVM code for the Faust compiler (http://faust.grame.fr) We have a class that translates an intermediate code in LLVM here: https://github.com/grame-cncm/faust/blob/master-dev/compiler/generator/interpreter/fbc_llvm_compiler.hh. I would like to test Lighning instead. The goal is to have a simple JIT chain (even if slower compared to LLVM), simpler to deploy on OS like Android, possibly embedded devices like the Bela board (https://bela.io), ESP32 (https://esp32.com), Teensy (https://www.pjrc.com/teensy/). Is is a reasonable expectation in terms of what is currently possible and implemented in Lighning?Thanks.
[Prev in Thread] | Current Thread | [Next in Thread] |