`nlvm` just got a little refresher and is now based on `llvm` 13.0.0 - mostly a 
trivial update from the point of view of `nlvm` as llvm turns out to have quite 
a stable API:

  * updated c2nim used to generate `llvm` bindings - it regressed since the 
last time I used it and no longer parses several enums and typedefs used in the 
llvm headers - on the plus side, it no longer stops on errors
  * moved to github actions to generate continuous releases



One of the interesting things going on in LLVM land is that ORC, the JIT, gets 
a lot of attention - that's good news for 
<https://github.com/arnetheduck/nlvm/pull/18>, which probably will work better 
as a result - I imagine that one thing that would work quite well would be to 
use ORC for CTFE instead of the Nim VM - this is nice because one could run 
light optimization passes on functions before they are executed by the VM and 
reuse those optimized IR:s when generating the final compile - will have to 
look into that at some point. Incidentally, those semi-optimized IR snippets 
would make good candidates for incremental compilation as well - wonder how 
hard it would be to make this pluggable in the main Nim compiler.

As far as Nim itself goes, `nlvm` is pegged at 1.2.12. 

Reply via email to