SCM Repository
Log of /sml/trunk/src/compiler/FLINT/opt/loopify.sml
Sticky Revision: |
Revision 423 - (view) (download) (annotate) - [select for diffs]
Modified Mon Sep 6 02:32:11 1999 UTC (21 years, 6 months ago) by monnier
File length: 8811 byte(s)
Diff to previous 422
It now compiles
Revision 422 - (view) (download) (annotate) - [select for diffs]
Modified Sun Sep 5 22:49:38 1999 UTC (21 years, 6 months ago) by monnier
File length: 8800 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 (21 years, 11 months ago) by monnier
File length: 8757 byte(s)
Diff to previous 203
* 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 203 - (view) (download) (annotate) - [select for diffs]
Modified Sat Dec 19 20:51:39 1998 UTC (22 years, 2 months ago) by monnier
File length: 8746 byte(s)
Diff to previous 199
* opt/fcontract.sml: turned fcFun into a foldable function. * opt/loopify.sml: added loop-invariant arg removal.
Revision 199 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 25 18:30:38 1998 UTC (22 years, 3 months ago) by monnier
File length: 7317 byte(s)
Diff to previous 191
* 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 191 - (view) (download) (annotate) - [select for diffs]
Added Fri Nov 20 02:01:27 1998 UTC (22 years, 3 months ago) by monnier
File length: 4047 byte(s)
* opt/loopify.sml: new file * cps/convert.sml: added code to take advantage of LK_WHILE loops.
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 |