From 7f2ce5cf1828ea3889ec8b67ecfb53b8431ad376 Mon Sep 17 00:00:00 2001 From: Adam Megacz Date: Tue, 31 May 2011 15:04:01 -0700 Subject: [PATCH] desugar: do not bother simplifying if we are doing simpleopt-before-flatten --- compiler/deSugar/Desugar.lhs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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! -- 1.7.10.4