SCM Repository
Log of /sml/trunk/src/compiler/FLINT/opt/collect.sml
Sticky Revision: |
Revision 651 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 1 18:34:03 2000 UTC (20 years, 10 months ago) by monnier
File length: 13609 byte(s)
Diff to previous 506
bring revisions from the vendor branch to the trunk
Revision 506 - (view) (download) (annotate) - [select for diffs]
Modified Fri Dec 10 00:15:35 1999 UTC (21 years, 4 months ago) by monnier
File length: 13609 byte(s)
Diff to previous 504
The compiler now compiles to a fix point but "split" still doesn't work because of a problem with the pickler.
Revision 504 - (view) (download) (annotate) - [select for diffs]
Modified Tue Dec 7 18:31:05 1999 UTC (21 years, 4 months ago) by monnier
File length: 13612 byte(s)
Diff to previous 422
the 110.25 merge compiles
Revision 422 - (view) (download) (annotate) - [select for diffs]
Modified Sun Sep 5 22:49:38 1999 UTC (21 years, 7 months ago) by monnier
File length: 13610 byte(s)
Diff to previous 220
merged in 110.19 and 110.20. Conflicts resolved, but it probably doesn't compile yet.
Revision 220 - (view) (download) (annotate) - [select for diffs]
Modified Tue Mar 9 02:15:05 1999 UTC (22 years, 1 month ago) by monnier
File length: 13607 byte(s)
Diff to previous 204
* 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 204 - (view) (download) (annotate) - [select for diffs]
Modified Sun Dec 20 11:23:30 1998 UTC (22 years, 4 months ago) by monnier
File length: 13593 byte(s)
Diff to previous 202
*** empty log message ***
Revision 202 - (view) (download) (annotate) - [select for diffs]
Modified Sun Dec 13 02:29:45 1998 UTC (22 years, 4 months ago) by monnier
File length: 13602 byte(s)
Diff to previous 199
Added IH_MAYBE to allow more selective inlining.
Revision 199 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 25 18:30:38 1998 UTC (22 years, 5 months ago) by monnier
File length: 13642 byte(s)
Diff to previous 197
* 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 197 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 22 01:25:23 1998 UTC (22 years, 5 months ago) by monnier
File length: 13887 byte(s)
Diff to previous 190
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 190 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 19 21:01:17 1998 UTC (22 years, 5 months ago) by monnier
File length: 13884 byte(s)
Diff to previous 189
* 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 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 15 22:29:42 1998 UTC (22 years, 5 months ago) by monnier
File length: 14374 byte(s)
Diff to previous 187
*** empty log message ***
Revision 187 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 11 07:04:24 1998 UTC (22 years, 5 months ago) by monnier
File length: 13783 byte(s)
Diff to previous 186
* opt/collect.sml(info): got rid of Transfer (unuselexp): junk the fundec part. (unuse): return a boolean instead of calling an undertaker.
Revision 186 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 11 05:24:43 1998 UTC (22 years, 5 months ago) by monnier
File length: 14793 byte(s)
Diff to previous 185
* 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 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 10 21:01:05 1998 UTC (22 years, 5 months ago) by monnier
File length: 16238 byte(s)
Diff to previous 184
* 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 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 8 21:18:20 1998 UTC (22 years, 5 months ago) by monnier
File length: 16183 byte(s)
Diff to previous 164
* 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 164 - (view) (download) (annotate) - [select for diffs]
Modified Sat Oct 31 01:03:30 1998 UTC (22 years, 5 months ago) by monnier
File length: 16182 byte(s)
Diff to previous 163
* 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 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 29 21:00:27 1998 UTC (22 years, 5 months ago) by monnier
File length: 13513 byte(s)
Diff to previous 159
added dropping of dead-arguments
Revision 159 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 12 02:45:03 1998 UTC (22 years, 6 months ago) by monnier
File length: 12603 byte(s)
Diff to previous 121
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 121 - (view) (download) (annotate) - [select for diffs]
Added Sat Jun 6 15:03:25 1998 UTC (22 years, 10 months ago) by monnier
File length: 12415 byte(s)
re-added fcontract and collect
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
root@smlnj-gforge.cs.uchicago.edu | ViewVC Help |
Powered by ViewVC 1.0.0 |