From: Adam Megacz Date: Tue, 31 May 2011 22:04:01 +0000 (-0700) Subject: desugar: do not bother simplifying if we are doing simpleopt-before-flatten X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=7f2ce5cf1828ea3889ec8b67ecfb53b8431ad376 desugar: do not bother simplifying if we are doing simpleopt-before-flatten --- diff --git a/compiler/deSugar/Desugar.lhs b/compiler/deSugar/Desugar.lhs index 7ba91d9..c8f6390 100644 --- a/compiler/deSugar/Desugar.lhs +++ b/compiler/deSugar/Desugar.lhs @@ -235,7 +235,10 @@ deSugar hsc_env final_prs = addExportFlagsAndRules target export_set keep_alive rules_for_locals (fromOL all_prs) - final_pgm = simplifyBinds $ combineEvBinds ds_ev_binds final_prs + final_pgm = let comb = combineEvBinds ds_ev_binds final_prs + in if dopt Opt_F_simpleopt_before_flatten dflags + then comb + else simplifyBinds comb -- Notice that we put the whole lot in a big Rec, even the foreign binds -- When compiling PrelFloat, which defines data Float = F# Float# -- we want F# to be in scope in the foreign marshalling code!