Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] View of /sml/trunk/src/compiler/FLINT/ChangeLog
ViewVC logotype

View of /sml/trunk/src/compiler/FLINT/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 197 - (download) (annotate)
Sun Nov 22 01:25:23 1998 UTC (21 years ago) by monnier
File size: 3671 byte(s)
Merged in Bratin's typelifting and Chris' named tvars.
FLINT is now using tvars from the first lcontract all the way to cps.

* reps/rttype.sml: changes from Bratin.
(rtLexp): define the NVAR case (return the tvar as an lvar).
* opt/[fl]contract.sml: removed the restriction on inlining at the same
  deBruijn depth.
* opt/lift.sml: new file for typelifting.
* flint/flintutil.sml (copy): added tvar renaming.
* flint/tvarcvt.sml: new file for named tvar <-> deBruijn conversions.
1998-11-21  Stefan Monnier  <monnier@cs.yale.edu>

	* reps/rttype.sml: changes from Bratin.
	(rtLexp): define the NVAR case (return the tvar as an lvar).

	* opt/[fl]contract.sml: removed the restriction on inlining at the same
	  deBruijn depth.

	* opt/lift.sml: new file for typelifting.

	* flint/flintutil.sml (copy): added tvar renaming.

	* flint/tvarcvt.sml: new file for named tvar <-> deBruijn conversions.

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