summaryrefslogtreecommitdiff
path: root/module/language/tree-il/optimize.scm
AgeCommit message (Expand)AuthorFilesLines
2021-04-26Implement cross-module inliningwip-inlinable-exportsAndy Wingo1-1/+2
2021-04-26Add support for recording inlinable module exportsAndy Wingo1-2/+4
2021-04-26Add pass to resolve free toplevel references in declarative modulesAndy Wingo1-0/+2
2020-05-31Fix bug where private bindings would never be sealedAndy Wingo1-1/+1
2020-05-14Tree-IL lowerer only loads needed optimizationsAndy Wingo1-37/+39
2020-05-13Fix optimizers after language lowerer refactorAndy Wingo1-13/+12
2020-05-11Avoid having "guild compile" load optimizersAndy Wingo1-15/+2
2020-05-11Declare #:cps? as an available optimizationAndy Wingo1-1/+2
2020-05-08Define new "lowering" phase in compilerAndy Wingo1-0/+12
2020-01-15Add eta-expansion pass after pevalAndy Wingo1-2/+5
2019-08-28At optimization level -O3, seal declarative module-private bindingsAndy Wingo1-1/+5
2019-08-25Letrectify only on -O2; update docsAndy Wingo1-1/+6
2019-08-18Enable letrectificationAndy Wingo1-4/+7
2019-08-13Run fix-letrec before pevalAndy Wingo1-3/+2
2018-01-05Disable resolve-primitives pass below -O2Andy Wingo1-9/+23
2018-01-05Add (system base optimize) moduleAndy Wingo1-4/+10
2015-10-22Wire up `guild compile -O0 foo.scm'Andy Wingo1-2/+6
2014-04-06Remove old Tree-IL CSE passAndy Wingo1-12/+3
2014-04-05Disable Tree-IL CSEAndy Wingo1-5/+6
2013-06-10Pre-order tree-il rewrites are now non-destructiveAndy Wingo1-3/+3
2013-06-10Tree-il post-order rewriter no longer destructiveAndy Wingo1-3/+3
2012-04-23enable cseAndy Wingo1-4/+12
2011-10-07optimizer verifies its outputAndy Wingo1-2/+4
2011-09-28separate peval and a new canonicalization pass into their own modulesAndy Wingo1-962/+2
2011-09-28((lambda ...) ...) fixAndy Wingo1-2/+5
2011-09-28peval: more effective binding pruningAndy Wingo1-29/+37
2011-09-28don't propagate pure primcalls that might not type-checkAndy Wingo1-1/+16
2011-09-28peval works on all expressionsAndy Wingo1-499/+462
2011-09-28peval: elide make-prompt-tag in effect contextAndy Wingo1-3/+7
2011-09-28peval: add support for <prompt> and <abort>Andy Wingo1-2/+65
2011-09-28peval: fix algorithmic behavior of `cons'Andy Wingo1-11/+12
2011-09-27peval: more strict accountingAndy Wingo1-30/+61
2011-09-26peval: fix inlining of lambda* with #:optionalAndy Wingo1-8/+2
2011-09-26remove unused peval helpersAndy Wingo1-11/+0
2011-09-25peval: simpler and more precise treatment of mutabilityAndy Wingo1-70/+89
2011-09-25peval: add a bunch of missing maybe-unconst callsAndy Wingo1-9/+10
2011-09-25peval uses effort counters, propagates lambdas more effectivelyAndy Wingo1-160/+207
2011-09-24prune unused letrec bindingsAndy Wingo1-1/+12
2011-09-24more peval refactoringAndy Wingo1-7/+17
2011-09-24add helpers for effort countersAndy Wingo1-0/+55
2011-09-24peval refactorAndy Wingo1-46/+48
2011-09-24attempt to prune unreferenced bindingsAndy Wingo1-26/+62
2011-09-24peval handles lexical-setAndy Wingo1-15/+34
2011-09-24peval: pre-analyze mutated or reffed-once lexicalsAndy Wingo1-0/+45
2011-09-24peval: don't propagate expressions that access memoryAndy Wingo1-9/+6
2011-09-24context-specific folding for peval in test and effect contextsAndy Wingo1-20/+54
2011-09-24thread a context through pevalAndy Wingo1-49/+62
2011-09-24peval: various bugfixesAndy Wingo1-18/+21
2011-09-24tree-il-any bugfixAndy Wingo1-1/+3
2011-09-24minor peval style tweakAndy Wingo1-1/+1