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

SCM Repository

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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 203 - (view) (download)

1 : monnier 203 1998-12-18 Stefan Monnier <monnier@cs.yale.edu>
2 :    
3 :     * opt/fcontract.sml: turned fcFun into a foldable function.
4 :    
5 :     1998-12-17 Stefan Monnier <monnier@cs.yale.edu>
6 :    
7 :     * opt/loopify.sml: fix (TR-ing would fail if not LR-ing also)
8 :    
9 :     1998-12-16 Stefan Monnier <monnier@cs.yale.edu>
10 :    
11 :     * opt/loopify.sml: make dropinvariant optional.
12 :    
13 :     1998-12-15 Stefan Monnier <monnier@cs.yale.edu>
14 :    
15 :     * opt/loopify.sml: drop invariant arguments in loops.
16 :    
17 :     * opt/optutils.sml (filter): curried.
18 :    
19 : monnier 202 1998-12-12 Stefan Monnier <monnier@cs.yale.edu>
20 :    
21 :     * opt/fcontract.sml (fcFun): value-specialization (turned off: useless)
22 :     (fcApp): use IH_MAYBE.
23 :    
24 :     * opt/fixfix.sml: improved the inlining heuristic by using the IH_MAYBE.
25 :    
26 :     1998-11-29 Stefan Monnier <monnier@cs.yale.edu>
27 :    
28 :     * opt/fcontract.sml (fcFun): only update the binding (after contracting
29 :     the function) if there are more functions to contract (the unusual case)
30 :    
31 :     1998-11-28 Stefan Monnier <monnier@cs.yale.edu>
32 :    
33 :     * opt/[lf]contract.sml,collect.sml: use PO.purePrimop
34 :    
35 :     * opt/fcontract.sml: generalized the BRANCH thing.
36 :     It should now be faster to detect and avoid potential code blowups while
37 :     applying to more cases. But it requires one more pass to generate the
38 :     same code quality :-(
39 :     (fcexp): straightforward split into functions
40 :     (fcLet): do the BRANCH thing after contraction (plus force an additional
41 :     contraction, so the total is 3 passes for a fairly good handling of
42 :     wrap's equality-primop compilation)
43 :     (fcLet): drop TAPP if the output is unused.
44 :    
45 :     1998-11-25 Stefan Monnier <monnier@cs.yale.edu>
46 :    
47 :     * opt/loopify.sml: improved tail-calls recognition.
48 :     Also be more careful about wrapping loops into functions (so contraction
49 :     is not needed to cleanup).
50 :    
51 :     * opt/fixfix.sml: pretend loops are smaller to increase their inlining.
52 :    
53 :     * kernel/ltyextern.sml: commented out Stats calls.
54 :    
55 :     * flint/flint.sig: changed LK_WHILE to LK_TAIL.
56 :    
57 : monnier 197 1998-11-21 Stefan Monnier <monnier@cs.yale.edu>
58 :    
59 :     * reps/rttype.sml: changes from Bratin.
60 :     (rtLexp): define the NVAR case (return the tvar as an lvar).
61 :    
62 :     * opt/[fl]contract.sml: removed the restriction on inlining at the same
63 :     deBruijn depth.
64 :    
65 :     * opt/lift.sml: new file for typelifting.
66 :    
67 :     * flint/flintutil.sml (copy): added tvar renaming.
68 :    
69 :     * flint/tvarcvt.sml: new file for named tvar <-> deBruijn conversions.
70 :    
71 : monnier 191 1998-11-19 Stefan Monnier <monnier@cs.yale.edu>
72 :    
73 :     * opt/loopify.sml: new file
74 :    
75 :     * cps/convert.sml: added code to take advantage of LK_WHILE loops.
76 :    
77 :     * opt/optutils.sml (id): removed. That was stupid.
78 :    
79 :     * opt/collect.sml: drop support for actuals (was only used for cstargs).
80 :    
81 :     * opt/lcontract.sml (lpfd): reset the inline bit to a safe value.
82 :    
83 :     * opt/fcontract.sml (cstargs): eliminated. Might reappear in a
84 :     specialization phase some day.
85 :     (inline): turned off unrolling because it's buggy.
86 :     (APP): use the new ifs, damit!
87 :    
88 : monnier 187 1998-11-11 Stefan Monnier <monnier@cs.yale.edu>
89 :    
90 : monnier 189 * opt/fcontract.sml (sval): ref svals rather than going through F.value
91 :    
92 : monnier 187 * opt/collect.sml: switched back to a read-only collect phase. Also try
93 :     to export the info to allow fcontract to circumvent some of the get calls.
94 :     (info): got rid of Transfer by using the intmap for redirection.
95 :     (unuselexp): junk the fundec part.
96 :     (unuse): return a boolean instead of calling an undertaker.
97 :    
98 : monnier 185 1998-11-09 Stefan Monnier <monnier@cs.yale.edu>
99 :    
100 :     * opt/fcontract.sml: take advantage of single-arm SWITCH (aka decon)
101 :     (SWITCH(CON)): just compare the conreps because types may differ (?)
102 :     (inlineWitness): ugly hack used to figure out if inlining happened,
103 :     in order to decide whether to keep the inline bit or not (in cfun).
104 :    
105 : monnier 184 1998-11-06 Stefan Monnier <monnier@cs.yale.edu>
106 :    
107 :     * opt/fcontract.sml: added unrolling support
108 :    
109 :     * reps/coerce.sml: replaced FK_FCT by fkfct, itself defined "sanely"
110 :    
111 :     * opt/fixfix.sml: adapted to the new fkind and introduced unrolling
112 :    
113 :     1998-11-05 Stefan Monnier <monnier@cs.yale.edu>
114 :    
115 :     * flint/flint.sig: changed fkind to have most annotations valid on
116 :     functors as well. It also adds a loopkind annotation as well as extends
117 :     the inline boolean into a three-way alternative.
118 :    
119 : monnier 164 1998-10-30 Stefan Monnier <monnier@cs.yale.edu>
120 :    
121 :     * opt/fcontract.sml (dropcstargs): replace constant args by the constant.
122 : monnier 184 (cexp): switched to a continuation passing style to implement the
123 :     let-associativity rule in a better way.
124 : monnier 164
125 : monnier 189 * opt/fixfix.sml (curry): correctly handle "impossible" cases.
126 : monnier 164
127 :     * opt/collect.sml: completely revisited: no distinction between
128 :     internal/external uses, dead-code elimination done right away. This
129 :     makes fcontract a little simpler.
130 :    
131 : monnier 163 1998-10-28 Stefan Monnier <monnier@cs.yale.edu>
132 :    
133 :     * opt/fcontract.sml (inline): do simple inlining only for non-isrec
134 :     functions (to ensure we never silently turn external uses into internal
135 :     uses) and correspondingly change the agressive inlining to inline
136 :     non-inlinable functions as long as its their last use.
137 :     (dropargs): new functions to drop unused arguments.
138 :    
139 :    
140 : monnier 162 1998-10-27 Stefan Monnier <monnier@cs.yale.edu>
141 :    
142 : monnier 163 * opt/optutils.sml: trying to reuse code between fixfix and fcontract.
143 :    
144 :     * opt/collect.sml (called): added for eta-expand.
145 :    
146 :     * opt/fcontract.sml (inline): allow single inlining of FK_FCT.
147 :    
148 : monnier 162 * lsplit/ls-inline.sml: don't call lcontract anymore.
149 :    
150 :     1998-10-26 Stefan Monnier <monnier@cs.yale.edu>
151 :    
152 :     * cps/cpstrans.sml (spillOut): fix from Zhong.
153 :    
154 :     * cpsopt/cpsopt.sml: use Control.CG.cpsopt and fold over it.
155 :    
156 :     * main/flintcomp.sml: use Control.FLINT.phases and fold over it.
157 :    
158 :     * 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