SCM Repository
Log of /sml/trunk/src/compiler/FLINT/opt/fixfix.sml
Sticky Revision: |
Revision 257 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 21 02:45:08 1999 UTC (23 years, 2 months ago) by monnier
File length: 14837 byte(s)
Diff to previous 255
*** empty log message ***
Revision 255 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 21 00:34:12 1999 UTC (23 years, 2 months ago) by monnier
File length: 14754 byte(s)
Diff to previous 220
up'd RAISE size estimate to discourage its inlining
Revision 220 - (view) (download) (annotate) - [select for diffs]
Modified Tue Mar 9 02:15:05 1999 UTC (23 years, 3 months ago) by monnier
File length: 14678 byte(s)
Diff to previous 216
* 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 216 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 26 12:55:26 1999 UTC (23 years, 4 months ago) by monnier
File length: 14221 byte(s)
Diff to previous 213
* 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 213 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 15 21:18:35 1999 UTC (23 years, 5 months ago) by monnier
File length: 14187 byte(s)
Diff to previous 202
merged in 110.10
Revision 202 - (view) (download) (annotate) - [select for diffs]
Modified Sun Dec 13 02:29:45 1998 UTC (23 years, 6 months ago) by monnier
File length: 13749 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 (23 years, 7 months ago) by monnier
File length: 11928 byte(s)
Diff to previous 184
* 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 184 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 8 21:18:20 1998 UTC (23 years, 7 months ago) by monnier
File length: 11788 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 (23 years, 8 months ago) by monnier
File length: 11921 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 (23 years, 8 months ago) by monnier
File length: 11934 byte(s)
Diff to previous 162
added dropping of dead-arguments
Revision 162 - (view) (download) (annotate) - [select for diffs]
Modified Tue Oct 27 22:16:21 1998 UTC (23 years, 8 months ago) by monnier
File length: 12391 byte(s)
Diff to previous 160
*** empty log message ***
Revision 160 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 12 03:31:38 1998 UTC (23 years, 8 months ago) by monnier
File length: 12058 byte(s)
Diff to previous 122
*** empty log message ***
Revision 122 - (view) (download) (annotate) - [select for diffs]
Added Sat Jun 6 15:05:38 1998 UTC (24 years ago) by monnier
File length: 12001 byte(s)
addition of fcontract and fixfix and Control.FLINT
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 |