[reorganize simplifications. use program based ones when possible.
John Meacham <john@repetae.net>**20060419023512] hunk ./Main.hs 14
+import IO(hFlush,stderr,stdout)
hunk ./Main.hs 83
-progress str = wdump FD.Progress (putErrLn str)
-progressM c  = wdump FD.Progress (c >>= putErrLn)
+progress str = wdump FD.Progress $  (putErrLn str) >> hFlush stderr
+progressM c  = wdump FD.Progress $ (c >>= putErrLn) >> hFlush stderr
hunk ./Main.hs 215
+            progClosed = False,
hunk ./Main.hs 277
+    let sopt = mempty {
+            SS.so_boundVars = fromList [ (tvrIdent v,e) | (v,e) <- Map.elems (hoEs ho)],
+            SS.so_dataTable = fullDataTable
+            }
hunk ./Main.hs 286
-        let mprog = programSetDs ns prog { progStats = mempty, progEntryPoints = fsts ns, progExternalNames = progExternalNames prog `mappend` (fromList $ map tvrIdent $ fsts (programDs prog)) }
+        let mprog = programSetDs ns prog {
+            progStats = mempty,
+            progClosed = True,
+            progEntryPoints = fsts ns,
+            progExternalNames = progExternalNames prog `mappend` (fromList $ map tvrIdent $ fsts (programDs prog))
+            }
+        progress "eta annotating"
hunk ./Main.hs 294
-        let sopt = mempty {
-                SS.so_boundVars = fromList [ (tvrIdent v,e) | (v,e) <- Map.elems (hoEs ho)],
-                SS.so_exports = map tvrIdent $ progEntryPoints mprog,
-                SS.so_dataTable = fullDataTable
-                }
-        mprog <- etaExpandProg mprog
-        mprog <- simplifyProgram sopt "SuperSimplify" False mprog
-        mprog <- barendregtProg mprog
-        mprog <- transformProgram "typeAnalyze" False (dump FD.Pass) (typeAnalyze True) mprog
-        --mprog <- transformProgram "floatOutward" False (dump FD.Pass) floatOutward mprog
-        mprog <- barendregtProg mprog
hunk ./Main.hs 295
+        --mprog <- barendregtProg mprog
+        --mprog <- transformProgram "typeAnalyze" False (dump FD.Pass) (typeAnalyze True) mprog
+        mprog <- transformProgram "floatOutward" False (dump FD.Pass) floatOutward mprog
+        --mprog <- barendregtProg mprog
+        --mprog <- simplifyProgram sopt "SuperSimplify" False mprog
hunk ./Main.hs 306
-        mprog <- simplifyProgram sopt "SuperSimplify" False mprog
-        mprog <- barendregtProg mprog
+        --mprog <- simplifyProgram sopt "SuperSimplify" False mprog
+        --mprog <- barendregtProg mprog
hunk ./Main.hs 309
-        wdump FD.Lambdacube $ mapM_ (\ (v,lc) -> printCheckName'' fullDataTable v lc) (programDs mprog)
-        wdump FD.Pass $
-            Stats.print ("InitialOptimize:" ++ pprint names) mstats
hunk ./Main.hs 310
+        wdump FD.Lambdacube $ mapM_ (\ (v,lc) -> printCheckName'' fullDataTable v lc) (programDs mprog)
+        wdump FD.Pass $ Stats.print ("InitialOptimize:" ++ pprint names) mstats
hunk ./Main.hs 316
+
+
hunk ./Main.hs 320
+    hFlush stdout >> hFlush stderr
+
hunk ./Main.hs 325
+    progress "Big Simplify"
+    prog <- barendregtProg prog
+    prog <- simplifyProgram sopt "SuperSimplify" True prog
+    prog <- barendregtProg prog
+    progress "Big Type Anasysis"
+    prog <- transformProgram "typeAnalyze" False (dump FD.Pass) (typeAnalyze True) prog
+    prog <- barendregtProg prog
+    --prog <- simplifyProgram sopt "SuperSimplify" True prog
+
+    progress "Big Eta Expansion"
hunk ./Main.hs 346
-            let sopt = mempty { SS.so_exports = inscope, SS.so_boundVars = smap, SS.so_dataTable = fullDataTable }
+            let sopt = mempty {  SS.so_boundVars = smap, SS.so_dataTable = fullDataTable }
hunk ./Main.hs 392
-                    let sopt = mempty { SS.so_exports = inscope, SS.so_boundVars = fromList [ (tvrIdent v,lc) | (v,lc) <- ds] `union` smap,  SS.so_dataTable = fullDataTable }
+                    let sopt = mempty {  SS.so_boundVars = fromList [ (tvrIdent v,lc) | (v,lc) <- ds] `union` smap,  SS.so_dataTable = fullDataTable }
hunk ./Main.hs 503
-    prog <- transformProgram "Initial Prune Unreachable" False False (return . programPruneUnreachable) prog
+    prog <- transformProgram "Initial Prune Unreachable" False True (return . programPruneUnreachable) prog
hunk ./Main.hs 552
+    progress "Annotate After prune"
hunk ./Main.hs 557
-    prog <- simplifyProgram mempty "SuperSimplify" True prog
+    prog <- simplifyProgram mempty "SuperSimplify pass 1" True prog
hunk ./Main.hs 562
+    progress "Eta expanding"
hunk ./Main.hs 565
+    progress "Type Analysis"