X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=ghc%2Fcompiler%2FcoreSyn%2FCoreLift.lhs;h=6719a8051fc5f64ab30c904857f54af669c8c852;hp=381c500629401be53026165ad2572ad541c45ab2;hb=5cf27e8f1731c52fe63a5b9615f927484164c61b;hpb=68afb16743cafd5b7495771d359891c6dfc5a186 diff --git a/ghc/compiler/coreSyn/CoreLift.lhs b/ghc/compiler/coreSyn/CoreLift.lhs index 381c500..6719a80 100644 --- a/ghc/compiler/coreSyn/CoreLift.lhs +++ b/ghc/compiler/coreSyn/CoreLift.lhs @@ -28,7 +28,7 @@ import Id ( idType, mkSysLocal, import Name ( isLocallyDefined, getSrcLoc ) import PrelInfo ( liftDataCon, mkLiftTy, statePrimTyCon ) import TyCon ( isBoxedTyCon, TyCon{-instance-} ) -import Type ( maybeAppDataTyCon, eqTy ) +import Type ( maybeAppDataTyConExpandingDicts, eqTy ) import UniqSupply ( getUnique, getUniques, splitUniqSupply, UniqSupply ) import Util ( zipEqual, zipWithEqual, assertPanic, panic ) @@ -261,7 +261,7 @@ liftBinders top_lev bind liftM idenv s0 (s1, s2) = splitUniqSupply s0 lift_ids = [ id | id <- bindersOf bind, isUnboxedButNotState (idType id) ] lift_uniqs = getUniques (length lift_ids) s1 - lift_map = zipEqual lift_ids (zipWithEqual mkLiftedId lift_ids lift_uniqs) + lift_map = zipEqual "liftBinders" lift_ids (zipWithEqual "liftBinders" mkLiftedId lift_ids lift_uniqs) -- ToDo: Give warning for recursive bindings involving unboxed values ??? @@ -312,7 +312,7 @@ applyBindUnlifts [] expr = expr applyBindUnlifts (f:fs) expr = f (applyBindUnlifts fs expr) isUnboxedButNotState ty - = case (maybeAppDataTyCon ty) of + = case (maybeAppDataTyConExpandingDicts ty) of Nothing -> False Just (tycon, _, _) -> not (isBoxedTyCon tycon) && not (tycon == statePrimTyCon)