summaryrefslogtreecommitdiff
path: root/module/language/tree-il/optimize.scm
AgeCommit message (Expand)AuthorFilesLines
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
2011-09-24fix alpha-rename for kwargsAndy Wingo1-2/+12
2011-09-23peval: Rectify style.Ludovic Courtès1-7/+7
2011-09-21peval comment & reindentationAndy Wingo1-3/+9
2011-09-21fix comment regarding alpha-renamingAndy Wingo1-4/+3
2011-09-21better pure-expression?Andy Wingo1-0/+5
2011-09-21more alpha-rename robustnessAndy Wingo1-0/+27
2011-09-21more robust alpha-renamingAndy Wingo1-3/+11
2011-09-21peval: inlining of let-valuesAndy Wingo1-0/+95
2011-09-21peval support for more formsAndy Wingo1-0/+29
2011-09-21more optimize.scm factoringAndy Wingo1-4/+11
2011-09-21optimize.scm refactorAndy Wingo1-24/+30
2011-09-18peval: Abort inlining when the residual code contains recursive calls.Ludovic Courtès1-8/+43
2011-09-17peval: Typo.Ludovic Courtès1-1/+1
2011-09-17peval: Alpha-rename anonymous lambdas that are duplicated.Ludovic Courtès1-0/+71
2011-09-13peval: Use `resolve-primitives!'.Ludovic Courtès1-13/+11
2011-09-13peval: Clarify `pure-expression?'.Ludovic Courtès1-2/+3
2011-09-13peval: Inline thunks.Ludovic Courtès1-1/+1
2011-09-13peval: Use the right scope when replacing a lambda by a lexical-ref.Ludovic Courtès1-15/+24
2011-09-13peval: Add tests for inlining with both static & dynamic arguments.Ludovic Courtès1-3/+4
2011-09-11peval: Propagate only pure expressions to lambdas.Ludovic Courtès1-6/+8
2011-09-11peval: Try hard to preserve mutability.Ludovic Courtès1-18/+70
2011-09-09Add a partial evaluator for use in the compiler.Ludovic Courtès1-5/+244