SCM Repository
View of /sml/trunk/src/compiler/FLINT/ChangeLog
Parent Directory
|
Revision Log
Revision 191 -
(download)
(annotate)
Fri Nov 20 02:01:27 1998 UTC (22 years, 3 months ago) by monnier
File size: 3253 byte(s)
Fri Nov 20 02:01:27 1998 UTC (22 years, 3 months ago) by monnier
File size: 3253 byte(s)
* opt/loopify.sml: new file * cps/convert.sml: added code to take advantage of LK_WHILE loops.
1998-11-19 Stefan Monnier <monnier@cs.yale.edu> * opt/loopify.sml: new file * cps/convert.sml: added code to take advantage of LK_WHILE loops. * opt/optutils.sml (id): removed. That was stupid. * opt/collect.sml: drop support for actuals (was only used for cstargs). * opt/lcontract.sml (lpfd): reset the inline bit to a safe value. * opt/fcontract.sml (cstargs): eliminated. Might reappear in a specialization phase some day. (inline): turned off unrolling because it's buggy. (APP): use the new ifs, damit! 1998-11-11 Stefan Monnier <monnier@cs.yale.edu> * opt/fcontract.sml (sval): ref svals rather than going through F.value * 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 <monnier@cs.yale.edu> * 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 <monnier@cs.yale.edu> * 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 <monnier@cs.yale.edu> * 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 <monnier@cs.yale.edu> * 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 "impossible" 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 <monnier@cs.yale.edu> * 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 <monnier@cs.yale.edu> * 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 <monnier@cs.yale.edu> * 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
root@smlnj-gforge.cs.uchicago.edu | ViewVC Help |
Powered by ViewVC 1.0.0 |