2 strictness & binding-time analysis (\cite{launchbury91a})
3 polymorphic-instance analysis (pldi 91; referred \cite{launchbury91a}, p 86 top left)
4 facet analysis (part of [higher-order offline] parameterized partial evaluation)
5 (pldi 91: \cite{consel91a})
6 binding-time analysis (fpca89; \cite{mogensen91})
7 strictness analysis (\cite{wadler87a})
8 update analysis (fpca; \cite{bloss89b})
9 path analysis (fpca; \cite{bloss89b})
10 interference, closure, and lifetime analysis (fpca; \cite{sestoft89a})
11 stacklessness anaysis (fpca; \cite{lester89b})
12 liveness analysis (AHU, reffed by lester89b)
13 complexity analysis (fpca, \cite{rosendahl89a})
18 refinement types (pldi 91; \cite{freeman91a})
19 soft typing (pldi 91; \cite{cartwright91a})
27 /asimpl arithmetic simplifications
28 /casetr case of case ... (& a couple of others ?)
29 /mlet mlet (inlining) ?
30 /simpl constant folding, casefold, Esimpl, simpl,
32 strict very simple strictness analysis
37 /lettrans let transformations
42 done in yale compiler:
44 optimization : \beta-redn (constant propagation & inlining)
52 compiles to "ucode" (symbolic assembler)
53 optimisations on both ucode and binary assembler
54 -O2 global ucode optimizer
55 -O3 global register alloc
57 -cord procedure re-arranger ; reduce cache conflicts
58 pixie adds things to binary for profiling
59 pixstats generate exec stats from a pixified pgm
60 prof analyse profile data (pc-sampling, basic-blk counting)
62 data dependence analysis (pldi 91; \cite{maydan91a})
63 (nice table of stats-- pldi 91; \cite{goff91a}, p 25)
65 tiling for better cache hits (pldi 91: \cite{wolf91a})
67 using real or estimated runtime profiles (pldi 91: \cite{wall91a})
69 procedure merging w/ instruction caches (pldi 91: \cite{mcfarling91a})
71 fortran @ 10 Gflops (pldi 91: \cite{bromley91a})
73 global instr scheduling for superscalar machines (pldi 91: \cite{bernstein91a})