Improvement to SimplUtils.mkLam
authorsimonpj@microsoft.com <unknown>
Tue, 27 Jul 2010 13:16:59 +0000 (13:16 +0000)
committersimonpj@microsoft.com <unknown>
Tue, 27 Jul 2010 13:16:59 +0000 (13:16 +0000)
compiler/simplCore/SimplUtils.lhs

index 2664752..96857a3 100644 (file)
@@ -1027,6 +1027,11 @@ mkLam _env bndrs body
        co_vars  = tyVarsOfType co
        bad bndr = isCoVar bndr && bndr `elemVarSet` co_vars      
 
+    mkLam' dflags bndrs body@(Lam {})
+      = mkLam' dflags (bndrs ++ bndrs1) body1
+      where
+        (bndrs1, body1) = collectBinders body
+
     mkLam' dflags bndrs body
       | dopt Opt_DoEtaReduction dflags,
         Just etad_lam <- tryEtaReduce bndrs body