1998-11-11 Stefan Monnier * opt/collect.sml: switched back to a read-only collect phase. Also try to export the info to allow fcontract to circumvent some of the get calls. (info): got rid of Transfer by using the intmap for redirection. (unuselexp): junk the fundec part. (unuse): return a boolean instead of calling an undertaker. 1998-11-09 Stefan Monnier * opt/fcontract.sml: take advantage of single-arm SWITCH (aka decon) (SWITCH(CON)): just compare the conreps because types may differ (?) (inlineWitness): ugly hack used to figure out if inlining happened, in order to decide whether to keep the inline bit or not (in cfun). 1998-11-06 Stefan Monnier * opt/fcontract.sml: added unrolling support * reps/coerce.sml: replaced FK_FCT by fkfct, itself defined "sanely" * opt/fixfix.sml: adapted to the new fkind and introduced unrolling 1998-11-05 Stefan Monnier * flint/flint.sig: changed fkind to have most annotations valid on functors as well. It also adds a loopkind annotation as well as extends the inline boolean into a three-way alternative. 1998-10-30 Stefan Monnier * opt/fcontract.sml (dropcstargs): replace constant args by the constant. (cexp): switched to a continuation passing style to implement the let-associativity rule in a better way. * opt/fixfix.sml (curry): correctly handle "imposible" cases. * opt/collect.sml: completely revisited: no distinction between internal/external uses, dead-code elimination done right away. This makes fcontract a little simpler. 1998-10-28 Stefan Monnier * opt/fcontract.sml (inline): do simple inlining only for non-isrec functions (to ensure we never silently turn external uses into internal uses) and correspondingly change the agressive inlining to inline non-inlinable functions as long as its their last use. (dropargs): new functions to drop unused arguments. 1998-10-27 Stefan Monnier * opt/optutils.sml: trying to reuse code between fixfix and fcontract. * opt/collect.sml (called): added for eta-expand. * opt/fcontract.sml (inline): allow single inlining of FK_FCT. * lsplit/ls-inline.sml: don't call lcontract anymore. 1998-10-26 Stefan Monnier * cps/cpstrans.sml (spillOut): fix from Zhong. * cpsopt/cpsopt.sml: use Control.CG.cpsopt and fold over it. * main/flintcomp.sml: use Control.FLINT.phases and fold over it. * opt/fixfix.sml (curry): use Control.FLINT.maxargs to bound the uncurrying
Click to toggle
does not end with </html> tag
does not end with </body> tag
The output has ended thus: ases and fold over it. * opt/fixfix.sml (curry): use Control.FLINT.maxargs to bound the uncurrying