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

SCM Repository

[smlnj] Log of /sml/trunk/src/compiler
ViewVC logotype

Log of /sml/trunk/src/compiler

View Directory Listing Directory Listing


Sticky Revision:
(Current path doesn't exist after revision 2161)

Revision 604 - Directory Listing
Modified Fri Apr 7 13:53:08 2000 UTC (19 years, 6 months ago) by monnier
* opt/switchoff.sml: Remove.
* reps/equal.sml: Rewritten to generate more CPS-like code.
* opt/fcontract.sml (fcLet): re-introduced the branch/switch code,
but without the deadly multiple traversals.
* */control.sml: Less flintopt and more cpsopt.

Revision 602 - Directory Listing
Modified Thu Apr 6 05:31:24 2000 UTC (19 years, 6 months ago) by leunga

    Forgot these files in the last update

Revision 593 - Directory Listing
Modified Tue Apr 4 07:26:33 2000 UTC (19 years, 6 months ago) by leunga

    Fixes related to C--, Moby and my optimizations.
    CVS tag=leunga-20000404-C--Moby

Revision 592 - Directory Listing
Modified Mon Apr 3 07:04:12 2000 UTC (19 years, 6 months ago) by blume
merging branch blume_devel_v110p26p2_1 (elimination of corenv)

Revision 591 - Directory Listing
Modified Mon Apr 3 01:19:20 2000 UTC (19 years, 6 months ago) by leunga

   1. Renamed the constructor CALL in MLTREE by popular demand.
   2. Added a bunch of files from my repository.  These are currently
      used by other non-SMLNJ backends.

Revision 590 - Directory Listing
Modified Sat Apr 1 02:24:08 2000 UTC (19 years, 6 months ago) by leunga

   This update contains a new module for extracting aliasing information.
   CVS tag: leunga-20000331-aliasing

Revision 588 - Directory Listing
Modified Fri Mar 31 09:00:02 2000 UTC (19 years, 6 months ago) by blume
changes to modmap generator and CM tool parameter mechanism (see HISTORY)

Revision 587 - Directory Listing
Modified Thu Mar 30 09:01:52 2000 UTC (19 years, 6 months ago) by blume
merging back development branch blume_devel_v110p26p1_3...
This involves changes to CM and the removal of CMStaticEnv from
the compiler.  See the HISTORY file for more information.

Revision 586 - Directory Listing
Modified Thu Mar 30 05:08:07 2000 UTC (19 years, 6 months ago) by leunga

   Fixed a slight problem with gc types annotations.

   To turn on gc types, do this:

       CM.autoload "sml/compiler.cm";
       Compiler.Control.MLRISC.getFlag "mlrisc-gc-types" := true;

Revision 585 - Directory Listing
Modified Wed Mar 29 23:55:35 2000 UTC (19 years, 6 months ago) by leunga

   This update contains major changes to the code generator and various
back ends.  Please see the entry leunga-20000327-mlriscGen_hppa_alpha_x86
in the file sml/HISTORY for details.

Revision 584 - Directory Listing
Modified Mon Mar 27 09:55:55 2000 UTC (19 years, 6 months ago) by monnier
(saveLvarNames): Set it back to false (for faster smaller compiler).

Revision 583 - Directory Listing
Modified Thu Mar 23 21:52:30 2000 UTC (19 years, 7 months ago) by leunga

1. X86 fixes/changes

   a.  The old code generated for SETcc was completely wrong.
       The Intel optimization guide is VERY misleading.

2. ALPHA fixes/changes

   a.  Added the instructions LDBU, LDWU, STB, STW as per Fermin's suggestion.
   b.  Added a new mode byteWordLoadStores to the functor parameter to Alpha()
   c.  Added reassociation code for address computation.

Revision 582 - Directory Listing
Modified Thu Mar 23 01:04:32 2000 UTC (19 years, 7 months ago) by monnier
(ANDALSO, ORELSE): Change associativity to `right'.

Revision 579 - Directory Listing
Modified Wed Mar 22 06:33:08 2000 UTC (19 years, 7 months ago) by leunga


1. X86 fixes/changes

   a.  x86Rewrite bug with MUL3 (found by Lal)
   b.  Added the instructions FSTS, FSTL

2. PA-RISC fixes/changes

   a.  B label should not be a delay slot candidate!  Why did this work?
   b.  ADDT(32, REG(32, r), LI n) now generates one instruction instead of two,
       as it should be.
   c.  The assembly syntax for fstds and fstdd was wrong.
   d.  Added the composite instruction COMICLR/LDO, which is the immediate
       operand variant of COMCLR/LDO.

3. Generic MLRISC

   a.  shuffle.sml rewritten to be slightly more efficient
   b.  DIV bug in mltree-simplify fixed (found by Fermin)

4. Register Allocator

   a.  I now release the interference graph earlier during spilling.
       May improve memory usage.

Revision 576 - Directory Listing
Modified Fri Mar 10 07:27:16 2000 UTC (19 years, 7 months ago) by leunga

More assembly output problems involving the indexed addressing mode
on the x86 have been found and corrected. Thanks to Fermin Reig for the
fix.

The interface and implementation of the register allocator have been changed
slightly to accommodate the possibility to skip the register allocation
phases completely and go directly to memory allocation.  This is needed
for C-- use.

This fix only affects the x86 assembly output.

Revision 573 - Directory Listing
Modified Thu Mar 9 15:23:52 2000 UTC (19 years, 7 months ago) by blume
merging back changes from blume_devel_v110_26_2

Revision 569 - Directory Listing
Modified Tue Mar 7 04:01:07 2000 UTC (19 years, 7 months ago) by blume
- size info in BOOTLIST
     * no fixed upper limits for number of bootfiles or length of
       bootfile names in runtime
     * falling back to old behavior if no BOOTLIST size info found
- allocation size heuristics in .run-sml
     * tries to read cache size from /proc/cpuinfo (this is important for
        small-cache Celeron systems!)
- install.sh robustified
- CM manual updates
- paranoid mode
     * no more CMB.deliver() (i.e., all done by CMB.make())
     * can re-use existing sml.boot.* files
     * init.cmi now treated as library
     * library stamps for consistency checks
- sml.boot.<arch>-<os>/PIDMAP file
     * This file is read by the CM startup code.  This is used to minimize
       the amount of dynamic state that needs to be stowed away for the
       purpose of sharing between interactive system and user code.
- CM.Anchor.anchor instead of CM.Anchor.{set,cancel}
     * Upon request by Elsa.  Anchors now controlled by get-set-pair
       like most other CM state variables.
- Compiler.CMSA eliminated
     * No longer supported by CM anyway.
- fixed bugs in pickler that kept biting Stefan
     * past refs to past refs (was caused by the possibility that
       ad-hoc sharing is more discriminating than hash-cons sharing)
     * integer overflow on LargeInt.minInt
- ml-{lex,yacc} build scripts now use new mechanism
  for building standalone programs
- fixed several gcc -Wall warnings that were caused by missing header
  files, missing initializations, etc., in runtime (not all warnings
  eliminated, though)

Revision 564 - Directory Listing
Modified Fri Mar 3 16:55:03 2000 UTC (19 years, 7 months ago) by george
lal-20000303- deleted old callgc files

Revision 563 - Directory Listing
Modified Fri Mar 3 16:39:32 2000 UTC (19 years, 7 months ago) by george
lal-20000303-new mltree -- take II

Revision 555 - Directory Listing
Modified Fri Mar 3 16:10:30 2000 UTC (19 years, 7 months ago) by george
lal-20000303-new mltree -- take II

Revision 546 - Directory Listing
Modified Thu Feb 24 14:04:51 2000 UTC (19 years, 8 months ago) by george
  Changes to MLTREE

Revision 540 - Directory Listing
Modified Fri Feb 18 19:46:31 2000 UTC (19 years, 8 months ago) by monnier
*** empty log message ***

Revision 537 - Directory Listing
Modified Fri Feb 18 17:20:16 2000 UTC (19 years, 8 months ago) by blume
CM changes: standalone builds, better CMB.make/deliver, general improvements

Revision 533 - Directory Listing
Modified Thu Feb 10 21:57:43 2000 UTC (19 years, 8 months ago) by monnier
*** empty log message ***

Revision 532 - Directory Listing
Modified Thu Feb 10 21:24:50 2000 UTC (19 years, 8 months ago) by dtelle
*** empty log message ***

Revision 531 - Directory Listing
Modified Sat Feb 5 21:29:18 2000 UTC (19 years, 8 months ago) by monnier
(ilhint): Comment fix.

Revision 530 - Directory Listing
Modified Mon Jan 31 22:53:55 2000 UTC (19 years, 8 months ago) by monnier
(fcLet/cassoc): don't do a second pass over the output of the rewrite.
  It leads to quadratic behavior for `x1 andalso x2 ...'.

Revision 529 - Directory Listing
Modified Mon Jan 31 22:53:38 2000 UTC (19 years, 8 months ago) by monnier
*** empty log message ***

Revision 523 - Directory Listing
Modified Wed Jan 12 22:03:45 2000 UTC (19 years, 9 months ago) by monnier
*** empty log message ***

Revision 521 - Directory Listing
Modified Wed Jan 12 20:44:11 2000 UTC (19 years, 9 months ago) by dbm
Allen's fix for gc code generation problem

Revision 515 - Directory Listing
Modified Sun Jan 9 09:59:14 2000 UTC (19 years, 9 months ago) by blume
pickler bug fixes; some cosmetic changes

Revision 509 - Directory Listing
Modified Sun Dec 12 05:13:26 1999 UTC (19 years, 10 months ago) by monnier
*** empty log message ***

Revision 508 - Directory Listing
Modified Fri Dec 10 20:35:54 1999 UTC (19 years, 10 months ago) by monnier
*** empty log message ***

Revision 506 - Directory Listing
Modified Fri Dec 10 00:15:35 1999 UTC (19 years, 10 months ago) by monnier
The compiler now compiles to a fix point but "split" still
doesn't work because of a problem with the pickler.

Revision 504 - Directory Listing
Modified Tue Dec 7 18:31:05 1999 UTC (19 years, 10 months ago) by monnier
the 110.25 merge compiles

Revision 499 - Directory Listing
Modified Tue Dec 7 15:44:50 1999 UTC (19 years, 10 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r498,
which included commits to RCS files with non-trunk default branches.

Revision 496 - Directory Listing
Modified Tue Dec 7 15:43:07 1999 UTC (19 years, 10 months ago) by monnier
Initial revision

Revision 489 - Directory Listing
Modified Tue Nov 23 12:55:00 1999 UTC (19 years, 11 months ago) by monnier
somewhat functional

Revision 477 - Directory Listing
Modified Wed Nov 10 23:04:21 1999 UTC (19 years, 11 months ago) by monnier
auto-merged to 110.24

Revision 476 - Directory Listing
Modified Wed Nov 10 22:59:58 1999 UTC (19 years, 11 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r475,
which included commits to RCS files with non-trunk default branches.

Revision 473 - Directory Listing
Modified Wed Nov 10 22:54:26 1999 UTC (19 years, 11 months ago) by monnier
Initial revision

Revision 472 - Directory Listing
Modified Wed Nov 10 22:48:28 1999 UTC (19 years, 11 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r471,
which included commits to RCS files with non-trunk default branches.

Revision 470 - Directory Listing
Modified Wed Nov 10 22:42:52 1999 UTC (19 years, 11 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r469,
which included commits to RCS files with non-trunk default branches.

Revision 466 - Directory Listing
Modified Wed Nov 10 22:35:37 1999 UTC (19 years, 11 months ago) by monnier
*** empty log message ***

Revision 440 - Directory Listing
Modified Wed Sep 15 16:37:27 1999 UTC (20 years, 1 month ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r439,
which included commits to RCS files with non-trunk default branches.

Revision 431 - Directory Listing
Modified Wed Sep 8 12:02:54 1999 UTC (20 years, 1 month ago) by monnier
merged in 110.21.  It might compile but it should won't work.

Revision 430 - Directory Listing
Modified Wed Sep 8 09:47:00 1999 UTC (20 years, 1 month ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r429,
which included commits to RCS files with non-trunk default branches.

Revision 427 - Directory Listing
Modified Wed Sep 8 09:40:08 1999 UTC (20 years, 1 month ago) by monnier
Initial revision

Revision 425 - Directory Listing
Modified Mon Sep 6 17:40:48 1999 UTC (20 years, 1 month ago) by monnier
unused

Revision 423 - Directory Listing
Modified Mon Sep 6 02:32:11 1999 UTC (20 years, 1 month ago) by monnier
It now compiles

Revision 422 - Directory Listing
Modified Sun Sep 5 22:49:38 1999 UTC (20 years, 1 month ago) by monnier
merged in 110.19 and 110.20.
Conflicts resolved, but it probably doesn't compile yet.

Revision 421 - Directory Listing
Modified Sat Sep 4 00:01:22 1999 UTC (20 years, 1 month ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r420,
which included commits to RCS files with non-trunk default branches.

Revision 419 - Directory Listing
Modified Fri Sep 3 23:51:27 1999 UTC (20 years, 1 month ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r418,
which included commits to RCS files with non-trunk default branches.

Revision 414 - Directory Listing
Modified Fri Sep 3 00:30:34 1999 UTC (20 years, 1 month ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r413,
which included commits to RCS files with non-trunk default branches.

Revision 412 - Directory Listing
Modified Fri Sep 3 00:25:03 1999 UTC (20 years, 1 month ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r411,
which included commits to RCS files with non-trunk default branches.

Revision 409 - Directory Listing
Modified Fri Sep 3 00:21:52 1999 UTC (20 years, 1 month ago) by monnier
Initial revision

Revision 382 - Directory Listing
Modified Sun Jul 11 03:12:07 1999 UTC (20 years, 3 months ago) by monnier
* opt/split.sml: don't burp when you can't split.

Revision 290 - Directory Listing
Modified Sat May 22 21:01:25 1999 UTC (20 years, 5 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r289,
which included commits to RCS files with non-trunk default branches.

Revision 285 - Directory Listing
Modified Wed May 19 23:31:25 1999 UTC (20 years, 5 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r284,
which included commits to RCS files with non-trunk default branches.

Revision 261 - Directory Listing
Modified Wed Apr 28 21:14:25 1999 UTC (20 years, 5 months ago) by monnier
temporarily turned cpsopt back on

Revision 260 - Directory Listing
Modified Thu Apr 22 10:56:58 1999 UTC (20 years, 6 months ago) by monnier
*** empty log message ***

Revision 259 - Directory Listing
Modified Thu Apr 22 09:30:22 1999 UTC (20 years, 6 months ago) by monnier
turned the CPS optimizer back on and tamed the FLINT inlining

Revision 258 - Directory Listing
Modified Wed Apr 21 23:58:52 1999 UTC (20 years, 6 months ago) by monnier
*** empty log message ***

Revision 257 - Directory Listing
Modified Wed Apr 21 02:45:08 1999 UTC (20 years, 6 months ago) by monnier
*** empty log message ***

Revision 256 - Directory Listing
Modified Wed Apr 21 01:28:39 1999 UTC (20 years, 6 months ago) by monnier
*** empty log message ***

Revision 255 - Directory Listing
Modified Wed Apr 21 00:34:12 1999 UTC (20 years, 6 months ago) by monnier
up'd RAISE size estimate to discourage its inlining

Revision 254 - Directory Listing
Modified Wed Apr 21 00:01:13 1999 UTC (20 years, 6 months ago) by monnier
add a space for `prPrimop *' so as to avoid printing `(*'.

Revision 253 - Directory Listing
Modified Tue Apr 20 17:31:38 1999 UTC (20 years, 6 months ago) by monnier
cleanup non-exhaustive match warning

Revision 252 - Directory Listing
Modified Tue Apr 20 17:22:07 1999 UTC (20 years, 6 months ago) by monnier
detect empty TFN/TAPP early

Revision 251 - Directory Listing
Modified Mon Apr 19 02:55:26 1999 UTC (20 years, 6 months ago) by monnier
First try at a merge of 110.16

Revision 250 - Directory Listing
Modified Sat Apr 17 18:57:03 1999 UTC (20 years, 6 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r249,
which included commits to RCS files with non-trunk default branches.

Revision 248 - Directory Listing
Modified Sat Apr 17 18:47:13 1999 UTC (20 years, 6 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r247,
which included commits to RCS files with non-trunk default branches.

Revision 246 - Directory Listing
Modified Sat Apr 17 18:47:12 1999 UTC (20 years, 6 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r245,
which included commits to RCS files with non-trunk default branches.

Revision 244 - Directory Listing
Modified Sat Apr 17 18:41:51 1999 UTC (20 years, 6 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r243,
which included commits to RCS files with non-trunk default branches.

Revision 241 - Directory Listing
Modified Sat Apr 17 18:35:00 1999 UTC (20 years, 6 months ago) by monnier
Initial revision

Revision 240 - Directory Listing
Modified Sat Apr 17 18:29:24 1999 UTC (20 years, 6 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r239,
which included commits to RCS files with non-trunk default branches.

Revision 237 - Directory Listing
Modified Sat Apr 17 18:26:03 1999 UTC (20 years, 6 months ago) by monnier
Initial revision

Revision 236 - Directory Listing
Modified Sat Apr 17 18:21:47 1999 UTC (20 years, 6 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r235,
which included commits to RCS files with non-trunk default branches.

Revision 233 - Directory Listing
Modified Sat Apr 17 18:18:11 1999 UTC (20 years, 6 months ago) by monnier
Initial revision

Revision 232 - Directory Listing
Modified Sat Apr 17 18:14:18 1999 UTC (20 years, 6 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r231,
which included commits to RCS files with non-trunk default branches.

Revision 229 - Directory Listing
Modified Sat Apr 17 18:10:40 1999 UTC (20 years, 6 months ago) by monnier
Initial revision

Revision 228 - Directory Listing
Modified Sat Apr 17 17:15:03 1999 UTC (20 years, 6 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r227,
which included commits to RCS files with non-trunk default branches.

Revision 225 - Directory Listing
Modified Sat Apr 17 17:09:01 1999 UTC (20 years, 6 months ago) by monnier
Initial revision

Revision 224 - Directory Listing
Modified Sat Apr 17 16:27:01 1999 UTC (20 years, 6 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r223,
which included commits to RCS files with non-trunk default branches.

Revision 221 - Directory Listing
Modified Sat Apr 17 16:19:57 1999 UTC (20 years, 6 months ago) by monnier
Initial revision

Revision 220 - Directory Listing
Modified Tue Mar 9 02:15:05 1999 UTC (20 years, 7 months ago) by monnier
* opt/split.sml (sexp): don't split HANDLE (it's incorrect).
(funeffect): embryo to detect side-effect free APPs (non-functional).
(splitThreshold): to put a cap on inlining.
(stfn): don't bother splitting inlinable TFNs.
* opt/fixfix.sml (curry): fixed bug when uncurrying cooked functions.
* opt/fcontract.sml (fcFun):  fix bug when undertaking mut-rec functions.
* main/flintcomp.sml:  added `recover' to help debugging.
updated the fold to allow extraction of Fi and return it at the end.
* lsplit/ls-inline.sml (oneBranch): fixed the wrapper function.
* flint/flintutil.sml (freevars):  forgot to count the arg of SWITCH.
* flint/flint.sig:  added a tfkind to TFN (only inlining for now).
* main/control.sml: new file. Moved from TopLevel/viscomp/control.sml
(splitThreshold): new var.
* TopLevel/viscomp/control.sig (FLINT.printFctTypes): to reduce clutter.
(splitThreshold): to control splitting agressiveness.
* TopLevel/viscomp/control.sml:  moved substructs outside so that clients
  can refer to them directly (rather than through Control.Foo) to reduce
  spurious dependencies.
* TopLevel/main/{codes,compile}: call `split' from flintcomp, not compile.
* kernel/ltyextern.sml (tnarrow), reps/{reify,rttype,typeoper}.sml:
  flatten arguments when reifying them since the pretty-printer doesn't
  know how to deal with flattened reified TFNs.

Revision 218 - Directory Listing
Modified Tue Mar 2 08:12:06 1999 UTC (20 years, 7 months ago) by monnier
* Semant/pickle/pickmod.sml (mkPickleLty):
  alpha-rename was not applied to NVAR.
* Semant/pickle/unpickmod.sml (lvar): was improperly defined.
(tyc): TC_NVAR wasn't read correctly.
(tfundec): leading char was inconsistent with pickle.
* kernel/ltyextern.sml (tnarrow), reps/{reify,rttype,typeoper}.sml:
  don't unflatten arguments when reifying them.

Revision 217 - Directory Listing
Modified Sun Feb 28 23:41:30 1999 UTC (20 years, 7 months ago) by monnier
* opt/fcontract.sml (fcEta): do the known->unknown eta-reduce if the
  `known' function is not locally defined (in which case the known/unknown
  distinction is pointless anyway).
(wrap):  don't forget to junk dead inlinable functions.

Revision 216 - Directory Listing
Modified Fri Feb 26 12:55:26 1999 UTC (20 years, 7 months ago) by monnier
* opt/split.sml: seriously reworked.  Now splits TFNs as well.
* kernel/primop.sml (effect): removed DEREF and MAKEREF from the pure
  primops.
* flint/flintutil.sml (copy): sort the type-map since {lt,tc}_subst
  actually expects it to be sorted.
* kernel/ltyextern.{sml,sig} (lt_nvpoly): new function (digged from
  recover.sml to build a LT_POLY in the case of named tvars.
* opt/recover.sml: removed unused depth arguments left behind from before
  we switched to named tvars.
(addLty): added for the benefit of opt/split.sml
(lt_nvpoly): moved to ltyextern.sml

Revision 215 - Directory Listing
Modified Wed Feb 17 14:17:40 1999 UTC (20 years, 8 months ago) by monnier
* opt/split.sml: new file.  Does the lambda-splitting for cross-module
  inlining.  Currently in a simplified form.
* opt/fcontract.sml (fcEta): bug with (mutually) recursive eta redexes.

Revision 213 - Directory Listing
Modified Fri Jan 15 21:18:35 1999 UTC (20 years, 9 months ago) by monnier
merged in 110.10

Revision 208 - Directory Listing
Modified Fri Jan 15 15:54:19 1999 UTC (20 years, 9 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r207,
which included commits to RCS files with non-trunk default branches.

Revision 205 - Directory Listing
Modified Fri Jan 15 15:53:56 1999 UTC (20 years, 9 months ago) by monnier
Initial revision

Revision 204 - Directory Listing
Modified Sun Dec 20 11:23:30 1998 UTC (20 years, 10 months ago) by monnier
*** empty log message ***

Revision 203 - Directory Listing
Modified Sat Dec 19 20:51:39 1998 UTC (20 years, 10 months ago) by monnier
* opt/fcontract.sml: turned fcFun into a foldable function.
* opt/loopify.sml: added loop-invariant arg removal.

Revision 202 - Directory Listing
Modified Sun Dec 13 02:29:45 1998 UTC (20 years, 10 months ago) by monnier
Added IH_MAYBE to allow more selective inlining.

Revision 201 - Directory Listing
Modified Sat Nov 28 23:32:48 1998 UTC (20 years, 10 months ago) by monnier
* opt/fcontract.sml: (fcexp): straightforward split into functions
(fcLet): do the BRANCH thing after contraction (plus force an additional
  contraction, so the total is 3 passes for a fairly good handling of
  wrap's equality-primop compilation)
(fcLet): drop TAPP if the output is unused.

Revision 200 - Directory Listing
Modified Sat Nov 28 17:48:03 1998 UTC (20 years, 10 months ago) by monnier
* opt/fcontract.sml: generalized the BRANCH thing.
It should now be faster to detect and avoid potential code blowups while
applying to more cases.  But it requires one more pass to generate the
same code quality :-(

Revision 199 - Directory Listing
Modified Wed Nov 25 18:30:38 1998 UTC (20 years, 11 months ago) by monnier
* opt/loopify.sml: improved tail-calls recognition.
Also be more careful about wrapping loops into functions (so contraction
is not needed to cleanup).
* opt/fixfix.sml: pretend loops are smaller to increase their inlining.
* kernel/ltyextern.sml: commented out Stats calls.
* flint/flint.sig: changed LK_WHILE to LK_TAIL.

Revision 198 - Directory Listing
Modified Sun Nov 22 02:11:29 1998 UTC (20 years, 11 months ago) by monnier
*** empty log message ***

Revision 197 - Directory Listing
Modified Sun Nov 22 01:25:23 1998 UTC (20 years, 11 months ago) by monnier
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.

Revision 191 - Directory Listing
Modified Fri Nov 20 02:01:27 1998 UTC (20 years, 11 months ago) by monnier
* opt/loopify.sml: new file
* cps/convert.sml: added code to take advantage of LK_WHILE loops.

Revision 190 - Directory Listing
Modified Thu Nov 19 21:01:17 1998 UTC (20 years, 11 months ago) by monnier
* 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!

Revision 189 - Directory Listing
Modified Sun Nov 15 22:29:42 1998 UTC (20 years, 11 months ago) by monnier
*** empty log message ***

Revision 187 - Directory Listing
Modified Wed Nov 11 07:04:24 1998 UTC (20 years, 11 months ago) by monnier
* opt/collect.sml(info): got rid of Transfer
(unuselexp): junk the fundec part.
(unuse): return a boolean instead of calling an undertaker.

Revision 186 - Directory Listing
Modified Wed Nov 11 05:24:43 1998 UTC (20 years, 11 months ago) by 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.

Revision 185 - Directory Listing
Modified Tue Nov 10 21:01:05 1998 UTC (20 years, 11 months ago) by 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).

Revision 184 - Directory Listing
Modified Sun Nov 8 21:18:20 1998 UTC (20 years, 11 months ago) by monnier
* added basic unrolling support
* 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.
* switched to a continuation passing style to implement the
  let-associativity rule in a better way.

Revision 183 - Directory Listing
Modified Sun Nov 8 16:58:19 1998 UTC (20 years, 11 months ago) by monnier
merged in 110.9.1

Revision 177 - Directory Listing
Modified Sat Nov 7 22:42:44 1998 UTC (20 years, 11 months ago) by monnier
Initial revision

Revision 174 - Directory Listing
Modified Sat Nov 7 22:37:14 1998 UTC (20 years, 11 months ago) by monnier
Initial revision

Revision 171 - Directory Listing
Modified Sat Nov 7 22:24:50 1998 UTC (20 years, 11 months ago) by monnier
Initial revision

Revision 170 - Directory Listing
Modified Sat Nov 7 20:30:40 1998 UTC (20 years, 11 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r169,
which included commits to RCS files with non-trunk default branches.

Revision 168 - Directory Listing
Modified Sat Nov 7 20:11:41 1998 UTC (20 years, 11 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r167,
which included commits to RCS files with non-trunk default branches.

Revision 165 - Directory Listing
Modified Sat Nov 7 20:10:46 1998 UTC (20 years, 11 months ago) by monnier
Initial revision

Revision 164 - Directory Listing
Modified Sat Oct 31 01:03:30 1998 UTC (20 years, 11 months ago) by monnier
* opt/fcontract.sml (dropcstargs): replace constant args by the constant.

* 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.

Revision 163 - Directory Listing
Modified Thu Oct 29 21:00:27 1998 UTC (20 years, 11 months ago) by monnier
added dropping of dead-arguments

Revision 162 - Directory Listing
Modified Tue Oct 27 22:16:21 1998 UTC (20 years, 11 months ago) by monnier
*** empty log message ***

Revision 161 - Directory Listing
Modified Mon Oct 12 03:40:02 1998 UTC (21 years ago) by monnier
*** empty log message ***

Revision 160 - Directory Listing
Modified Mon Oct 12 03:31:38 1998 UTC (21 years ago) by monnier
*** empty log message ***

Revision 159 - Directory Listing
Modified Mon Oct 12 02:45:03 1998 UTC (21 years ago) by monnier
detect inlining loops
eliminate Con(Decon c)
eliminate Record(Select, ...) when type is available
uncount var-use of dropped arms when SWITCH is optimized out

Revision 158 - Directory Listing
Modified Mon Oct 12 02:41:33 1998 UTC (21 years ago) by monnier
*** empty log message ***

Revision 157 - Directory Listing
Modified Mon Oct 12 01:50:35 1998 UTC (21 years ago) by monnier
*** empty log message ***

Revision 154 - Directory Listing
Modified Sun Oct 11 22:22:47 1998 UTC (21 years ago) by monnier
use fcontract's copy

Revision 153 - Directory Listing
Modified Sun Oct 11 17:49:09 1998 UTC (21 years ago) by monnier
replaced debugFContract by misc and changed the default settings

Revision 152 - Directory Listing
Modified Sun Oct 11 17:48:39 1998 UTC (21 years ago) by monnier
removed debugFContract

Revision 151 - Directory Listing
Modified Sun Oct 11 17:46:21 1998 UTC (21 years ago) by monnier
added FLINT.misc for temporary debugging purposes (a la CG.misc4)

Revision 150 - Directory Listing
Modified Sun Oct 11 17:45:33 1998 UTC (21 years ago) by monnier
eliminated call to lcontract

Revision 149 - Directory Listing
Modified Sun Oct 11 17:44:55 1998 UTC (21 years ago) by monnier
eliminated use of CG.misc4 probably left over from debugging

Revision 146 - Directory Listing
Modified Mon Sep 7 23:26:10 1998 UTC (21 years, 1 month ago) by monnier
*** empty log message ***

Revision 145 - Directory Listing
Modified Mon Sep 7 23:12:37 1998 UTC (21 years, 1 month ago) by monnier
merged in changes upto 110.8.1

Revision 144 - Directory Listing
Modified Mon Sep 7 21:46:44 1998 UTC (21 years, 1 month ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r143,
which included commits to RCS files with non-trunk default branches.

Revision 140 - Directory Listing
Modified Mon Sep 7 21:11:35 1998 UTC (21 years, 1 month ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r139,
which included commits to RCS files with non-trunk default branches.

Revision 134 - Directory Listing
Modified Mon Sep 7 21:02:07 1998 UTC (21 years, 1 month ago) by monnier
Initial revision

Revision 133 - Directory Listing
Modified Mon Sep 7 19:48:36 1998 UTC (21 years, 1 month ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r132,
which included commits to RCS files with non-trunk default branches.

Revision 128 - Directory Listing
Modified Mon Sep 7 19:06:29 1998 UTC (21 years, 1 month ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r127,
which included commits to RCS files with non-trunk default branches.

Revision 126 - Directory Listing
Modified Mon Sep 7 18:14:32 1998 UTC (21 years, 1 month ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r125,
which included commits to RCS files with non-trunk default branches.

Revision 124 - Directory Listing
Modified Mon Sep 7 16:19:55 1998 UTC (21 years, 1 month ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r123,
which included commits to RCS files with non-trunk default branches.

Revision 122 - Directory Listing
Modified Sat Jun 6 15:05:38 1998 UTC (21 years, 4 months ago) by monnier
addition of fcontract and fixfix and Control.FLINT

Revision 121 - Directory Listing
Modified Sat Jun 6 15:03:25 1998 UTC (21 years, 4 months ago) by monnier
re-added fcontract and collect

Revision 120 - Directory Listing
Modified Sat Jun 6 14:41:33 1998 UTC (21 years, 4 months ago) by monnier
temporarily removed fcontract and collect

Revision 118 - Directory Listing
Modified Fri Jun 5 21:38:17 1998 UTC (21 years, 4 months ago) by monnier
merged in 110.7 changes

Revision 117 - Directory Listing
Modified Fri Jun 5 20:15:29 1998 UTC (21 years, 4 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r116,
which included commits to RCS files with non-trunk default branches.

Revision 114 - Directory Listing
Modified Fri Jun 5 19:41:21 1998 UTC (21 years, 4 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r113,
which included commits to RCS files with non-trunk default branches.

Revision 111 - Directory Listing
Modified Fri Jun 5 19:37:29 1998 UTC (21 years, 4 months ago) by monnier
Initial revision

Revision 109 - Directory Listing
Modified Fri May 29 02:12:55 1998 UTC (21 years, 4 months ago) by monnier
merged in 110.6 changes

Revision 107 - Directory Listing
Modified Thu May 28 21:30:17 1998 UTC (21 years, 4 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r106,
which included commits to RCS files with non-trunk default branches.

Revision 104 - Directory Listing
Modified Thu May 28 21:25:35 1998 UTC (21 years, 4 months ago) by monnier
Initial revision

Revision 102 - Directory Listing
Modified Thu May 14 05:53:10 1998 UTC (21 years, 5 months ago) by monnier
merged in 110.5.1 from Zhong

Revision 101 - Directory Listing
Modified Thu May 14 04:56:46 1998 UTC (21 years, 5 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r100,
which included commits to RCS files with non-trunk default branches.

Revision 98 - Directory Listing
Modified Thu May 14 04:54:52 1998 UTC (21 years, 5 months ago) by monnier
Initial revision

Revision 95 - Directory Listing
Modified Wed May 13 00:49:12 1998 UTC (21 years, 5 months ago) by monnier
merged with 110.5

Revision 94 - Directory Listing
Modified Tue May 12 21:56:22 1998 UTC (21 years, 5 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r93,
which included commits to RCS files with non-trunk default branches.

Revision 89 - Directory Listing
Modified Tue May 12 21:54:55 1998 UTC (21 years, 5 months ago) by monnier
Initial revision

Revision 88 - Directory Listing
Modified Thu May 7 01:19:15 1998 UTC (21 years, 5 months ago) by monnier
*** empty log message ***

Revision 87 - Directory Listing
Modified Thu May 7 01:11:45 1998 UTC (21 years, 5 months ago) by monnier
*** empty log message ***

Revision 86 - Directory Listing
Modified Thu May 7 00:24:39 1998 UTC (21 years, 5 months ago) by monnier
*** empty log message ***

Revision 85 - Directory Listing
Modified Wed May 6 23:53:59 1998 UTC (21 years, 5 months ago) by monnier
*** empty log message ***

Revision 84 - Directory Listing
Modified Wed May 6 22:35:33 1998 UTC (21 years, 5 months ago) by monnier
*** empty log message ***

Revision 83 - Directory Listing
Modified Wed May 6 22:23:51 1998 UTC (21 years, 5 months ago) by league
removing assert and rc-file changes for now.

Revision 82 - Directory Listing
Modified Sun May 3 00:00:24 1998 UTC (21 years, 5 months ago) by monnier
*** empty log message ***

Revision 81 - Directory Listing
Modified Sat May 2 23:59:45 1998 UTC (21 years, 5 months ago) by monnier
added real inlining support (with alpha-renaming)
added limited type information

Revision 80 - Directory Listing
Modified Wed Apr 29 23:25:33 1998 UTC (21 years, 5 months ago) by monnier
Changed the semantics of "inline".

Revision 79 - Directory Listing
Modified Sat Apr 18 00:19:45 1998 UTC (21 years, 6 months ago) by league
assertions and .smlnjrc

Revision 78 - Directory Listing
Modified Fri Apr 17 17:58:14 1998 UTC (21 years, 6 months ago) by league
*** empty log message ***

Revision 77 - Directory Listing
Modified Tue Apr 14 05:21:45 1998 UTC (21 years, 6 months ago) by league
debugging code

Revision 76 - Directory Listing
Modified Sun Apr 12 02:23:26 1998 UTC (21 years, 6 months ago) by league
changed max # elements to flatten to 5, to support x86 floating
points.  should be made machine dependent?

Revision 75 - Directory Listing
Modified Sun Apr 12 02:22:44 1998 UTC (21 years, 6 months ago) by league
added checking for redefined lvars.

Revision 74 - Directory Listing
Modified Sat Apr 11 00:22:45 1998 UTC (21 years, 6 months ago) by league
minimal checking for lvars in dict and conrep.

Revision 73 - Directory Listing
Modified Sun Apr 5 20:59:43 1998 UTC (21 years, 6 months ago) by monnier
*** empty log message ***

Revision 72 - Directory Listing
Modified Sun Apr 5 19:07:40 1998 UTC (21 years, 6 months ago) by monnier
cleaned up the previous merge

Revision 71 - Directory Listing
Modified Fri Apr 3 01:57:57 1998 UTC (21 years, 6 months ago) by monnier
merged in Zhong's 110.4

Revision 70 - Directory Listing
Modified Fri Apr 3 00:06:55 1998 UTC (21 years, 6 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r69,
which included commits to RCS files with non-trunk default branches.

Revision 66 - Directory Listing
Modified Fri Apr 3 00:06:13 1998 UTC (21 years, 6 months ago) by monnier
Initial revision

Revision 65 - Directory Listing
Modified Wed Apr 1 20:57:44 1998 UTC (21 years, 6 months ago) by league
made changes to kind-checking so that enc_tvar need not be exported
by ltykernel.  one awkwardness is that the tkLookupFreeVars function
in ltykernel manipulates a tkindenv, which is technically not defined
until ltyextern.

Revision 64 - Directory Listing
Modified Tue Mar 31 05:26:51 1998 UTC (21 years, 6 months ago) by monnier
dummy

Revision 63 - Directory Listing
Modified Tue Mar 31 05:26:42 1998 UTC (21 years, 6 months ago) by monnier
*** empty log message ***

Revision 62 - Directory Listing
Modified Tue Mar 31 05:13:22 1998 UTC (21 years, 6 months ago) by monnier
*** empty log message ***

Revision 61 - Directory Listing
Modified Mon Mar 30 19:27:36 1998 UTC (21 years, 6 months ago) by league
just added a comment.  there is apparently a subtle bug in inlining
across different depths.  it causes a type error in a FIX node when
compiling CodeGen/cpscompile/mkRecord.sml.

Revision 60 - Directory Listing
Modified Mon Mar 30 19:25:56 1998 UTC (21 years, 6 months ago) by league
major change to tc_eqv_gen and its clients; now they properly check
equivalence of two FIX nodes.

Revision 59 - Directory Listing
Modified Mon Mar 30 19:24:59 1998 UTC (21 years, 6 months ago) by league
Renaming of Control.CG flags related to type-checking.  Now we have
`checkFlint', `checkKinds', and `checkDatatypes'.

Revision 58 - Directory Listing
Modified Mon Mar 30 01:11:18 1998 UTC (21 years, 6 months ago) by monnier
*** empty log message ***

Revision 57 - Directory Listing
Modified Sun Mar 29 01:01:15 1998 UTC (21 years, 6 months ago) by monnier
undoing the hack that has been replaced by a proper fix

Revision 56 - Directory Listing
Modified Sun Mar 29 01:00:36 1998 UTC (21 years, 6 months ago) by monnier
properly newline-terminate the output when hitting eof

Revision 55 - Directory Listing
Modified Sun Mar 29 00:46:52 1998 UTC (21 years, 6 months ago) by monnier
properly newline-terminate xmakeml's output

Revision 54 - Directory Listing
Modified Sat Mar 28 23:13:01 1998 UTC (21 years, 6 months ago) by monnier
properly newline-terminate xmakeml's output

Revision 53 - Directory Listing
Modified Mon Mar 23 04:02:58 1998 UTC (21 years, 7 months ago) by league
Type and kind-checking working and turned on by default.
Datatype equality still not implemented.

Revision 52 - Directory Listing
Modified Mon Mar 23 03:59:51 1998 UTC (21 years, 7 months ago) by league
buildcm -full and
xmakeml

Revision 51 - Directory Listing
Modified Sun Mar 22 23:08:44 1998 UTC (21 years, 7 months ago) by monnier
split printLambda into printLambda and printFlint

Revision 50 - Directory Listing
Modified Sun Mar 22 23:05:33 1998 UTC (21 years, 7 months ago) by monnier
moved TAPP handling from `tolexp' to `tolvar' since it always
binds one and only one variable.

Revision 49 - Directory Listing
Modified Sun Mar 22 22:49:56 1998 UTC (21 years, 7 months ago) by monnier
*** empty log message ***

Revision 47 - Directory Listing
Modified Sun Mar 22 21:53:07 1998 UTC (21 years, 7 months ago) by monnier
*** empty log message ***

Revision 46 - Directory Listing
Modified Sun Mar 22 20:11:09 1998 UTC (21 years, 7 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r45,
which included commits to RCS files with non-trunk default branches.

Revision 41 - Directory Listing
Modified Sun Mar 22 20:10:46 1998 UTC (21 years, 7 months ago) by monnier
Initial revision

Revision 40 - Directory Listing
Modified Sun Mar 22 19:26:12 1998 UTC (21 years, 7 months ago) by monnier
*** empty log message ***

Revision 25 - Directory Listing
Modified Thu Mar 12 00:49:58 1998 UTC (21 years, 7 months ago) by monnier
This commit was generated by cvs2svn to compensate for changes in r24,
which included commits to RCS files with non-trunk default branches.

Revision 21 - Directory Listing
Modified Thu Mar 12 00:49:41 1998 UTC (21 years, 7 months ago) by monnier
Initial revision

Revision 16 - Directory Listing
Modified Wed Mar 11 21:00:04 1998 UTC (21 years, 7 months ago) by monnier
Initial revision

Revision 15 - Directory Listing
Added Thu Feb 5 05:59:56 1998 UTC (21 years, 8 months ago) by monnier
*** empty log message ***

Sort log by:

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0