[add back in an optimization step after lambda lifting to fix up some core that translates to pessismal grin
John Meacham <john@repetae.net>**20090306085922
 Ignore-this: 56b7583559da590ff18a5f46070c8d00
] hunk ./E/SSimplify.hs 290
+    so_postLift   :: Bool,                 -- ^ don't inline anything that was lifted out
hunk ./E/SSimplify.hs 302
+                             , so_postLift    = False
hunk ./E/SSimplify.hs 848
+    appVar v xs | so_postLift sopts = app (EVar v,xs)
hunk ./E/SSimplify.hs 880
+                      | so_postLift sopts && (isELam e || isECase e) -> return (tvrIdent t,noUseInfo { useOccurance = LoopBreaker },t',e)
hunk ./E/SSimplify.hs 913
-        ds' <- sequence [ etaExpandDef' (progDataTable prog) (minArgs t) t e | (t,e) <- ds']
+        ds' <- if so_postLift sopts then return ds' else  sequence [ etaExpandDef' (progDataTable prog) (minArgs t) t e | (t,e) <- ds']
hunk ./Grin/FromE.hs 532
-                    return $ e :>>= [toVal b] :-> Case v (as ++ def)
+                    return $ e :>>= [toVal b] :-> Case (toVal b) (as ++ def)
hunk ./Main.hs 644
+    prog <- simplifyProgram SS.emptySimplifyOpts { SS.so_postLift = True, SS.so_finalPhase = True } "PostLiftSimplify" verbose prog
+--    prog <- programFloatInward prog
+