diff options
author | Kavon Farvardin <kavon@farvard.in> | 2018-09-23 15:29:37 -0500 |
---|---|---|
committer | Kavon Farvardin <kavon@farvard.in> | 2018-09-23 15:29:37 -0500 |
commit | 84c2ad99582391005b5e873198b15e9e9eb4f78d (patch) | |
tree | caa8c2f2ec7e97fbb4977263c6817c9af5025cf4 /compiler/coreSyn/CoreTidy.hs | |
parent | 8ddb47cfcf5776e9a3c55fd37947c8a95e00fa12 (diff) | |
parent | e68b439fe5de61b9a2ca51af472185c62ccb8b46 (diff) | |
download | haskell-wip/T13904.tar.gz |
update to current master againwip/T13904
Diffstat (limited to 'compiler/coreSyn/CoreTidy.hs')
-rw-r--r-- | compiler/coreSyn/CoreTidy.hs | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/compiler/coreSyn/CoreTidy.hs b/compiler/coreSyn/CoreTidy.hs index 89ce692422..be5e6c1619 100644 --- a/compiler/coreSyn/CoreTidy.hs +++ b/compiler/coreSyn/CoreTidy.hs @@ -14,13 +14,15 @@ module CoreTidy ( #include "HsVersions.h" +import GhcPrelude + import CoreSyn import CoreSeq ( seqUnfolding ) import CoreArity import Id import IdInfo import Demand ( zapUsageEnvSig ) -import Type( tidyType, tidyTyCoVarBndr ) +import Type( tidyType, tidyVarBndr ) import Coercion( tidyCo ) import Var import VarEnv @@ -128,7 +130,7 @@ tidyVarOcc (_, var_env) v = lookupVarEnv var_env v `orElse` v -- tidyBndr is used for lambda and case binders tidyBndr :: TidyEnv -> Var -> (TidyEnv, Var) tidyBndr env var - | isTyCoVar var = tidyTyCoVarBndr env var + | isTyCoVar var = tidyVarBndr env var | otherwise = tidyIdBndr env var tidyBndrs :: TidyEnv -> [Var] -> (TidyEnv, [Var]) @@ -157,9 +159,7 @@ tidyIdBndr env@(tidy_env, var_env) id `setOneShotInfo` oneShotInfo old_info old_info = idInfo id old_unf = unfoldingInfo old_info - new_unf | isEvaldUnfolding old_unf = evaldUnfolding - | otherwise = noUnfolding - -- See Note [Preserve evaluatedness] + new_unf = zapUnfolding old_unf -- See Note [Preserve evaluatedness] in ((tidy_env', var_env'), id') } @@ -205,11 +205,10 @@ tidyLetBndr rec_tidy_env env@(tidy_env, var_env) (id,rhs) `setInlinePragInfo` inlinePragInfo old_info `setUnfoldingInfo` new_unf + old_unf = unfoldingInfo old_info new_unf | isStableUnfolding old_unf = tidyUnfolding rec_tidy_env old_unf old_unf - | isEvaldUnfolding old_unf = evaldUnfolding + | otherwise = zapUnfolding old_unf -- See Note [Preserve evaluatedness] - | otherwise = noUnfolding - old_unf = unfoldingInfo old_info in ((tidy_env', var_env'), id') } |