One more wibble to FloatOut, fixes HEAD breakage (I hope)
authorsimonpj@microsoft.com <unknown>
Fri, 2 Feb 2007 22:53:48 +0000 (22:53 +0000)
committersimonpj@microsoft.com <unknown>
Fri, 2 Feb 2007 22:53:48 +0000 (22:53 +0000)
compiler/simplCore/FloatOut.lhs

index c97bbce..d554451 100644 (file)
@@ -323,8 +323,9 @@ floatExpr lvl (Cast expr co)
 
 floatExpr lvl (Let (NonRec (TB bndr bndr_lvl) rhs) body)
   | isUnLiftedType (idType bndr)       -- Treat unlifted lets just like a case
-  = case floatExpr lvl rhs     of { (fs, rhs_floats, rhs') ->
-    case floatRhs bndr_lvl body of { (fs, body_floats, body') ->
+                               -- I.e. floatExpr for rhs, floatCaseAlt for body
+  = case floatExpr lvl rhs         of { (fs, rhs_floats, rhs') ->
+    case floatCaseAlt bndr_lvl body of { (fs, body_floats, body') ->
     (fs, rhs_floats ++ body_floats, Let (NonRec bndr rhs') body') }}
 
 floatExpr lvl (Let bind body)