From: Jean L. <bu...@gn...> - 2018-07-09 20:22:42
|
Where do I get that development version? Jean On Mon, Jul 09, 2018 at 03:24:40PM -0400, Charles Zhang wrote: > Hello clisp, > > For this period many correctness bugs in the new compiler were fixed, > with multiple self compiles possible without any detectable oddities. > > A few new dataflow passes and better code generation has been > implemented. Some highlights: > > - SSA conditional constant propagation, which can fold code like > (lambda () (let ((i 0) a b c d) > (values > (and (setq a (setq i (1+ i))) > (setq b (setq i (1+ i))) > (setq c (setq i (1+ i))) > (setq d (setq i (1+ i)))) > i a b c d))) > into (values 4 4 1 2 3 4). Very useful for macro heavy code. > - Loop invariant hoisting. Useful for numeric code with arrays/matrices. > - Prototype value numbering with Kildall. Good for some forms of > redundant expression elimination. > - Better dead code elimination detection with respect to multiple values. > Code generation improvements: > - Better instruction selection for branches > - Inlined multiple-values instructions. No more consing and improved > self compile time from 55 seconds to 42 seconds. > - Inlined funcall > - Much better instruction selection for various CALL instructions > - Some form of basic block scheduling, to remove JMPs from LAP. > - Extra LOAD/PUSH/STOREs eliminated. The code looks more like stack > machine code. > > Some optimizations were made to make the compiler faster as well, by > paying more attention to the speed of convergence of some dataflow > analysis algorithms. > > Some goals for next period: > - Using escape analysis to see when closures can be eliminated; e.g. > by lambda lifting closed over values in non escaping nested functions. > - Integrating value numbering analysis > - Loop induction variable analysis > - Making the compiler faster by ordering flow nodes properly in > dataflow analysis. > - Try to experiment with untyped instructions and type inference. > - Local function inlining with Robert Strandh's partial inlining > technique, which was recently presented at ELS. > - Inlining in general. > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > clisp-devel mailing list > cli...@li... > https://lists.sourceforge.net/lists/listinfo/clisp-devel -- Jean Louis |