X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FcoreSyn%2FCoreTidy.lhs;h=04fd1c1cea16b30ee9c4713c5395969d70ea5e07;hb=f17c76a4fc51a52ccda154ec9e4990f13f78c8c2;hp=c4e7ed987e90f7dc48a65510d3f08e08b0fcedc0;hpb=49c98d143c382a1341e1046f5ca00819a25691ba;p=ghc-hetmet.git diff --git a/compiler/coreSyn/CoreTidy.lhs b/compiler/coreSyn/CoreTidy.lhs index c4e7ed9..04fd1c1 100644 --- a/compiler/coreSyn/CoreTidy.lhs +++ b/compiler/coreSyn/CoreTidy.lhs @@ -25,7 +25,8 @@ import Name hiding (tidyNameOcc) import OccName import SrcLoc import Maybes -import Util + +import Data.List \end{code} @@ -146,13 +147,16 @@ tidyLetBndr env (id,rhs) -- CorePrep to turn the let into a case. -- -- Similarly arity info for eta expansion in CorePrep - -- + -- + -- Set inline-prag info so that we preseve it across + -- separate compilation boundaries final_id = new_id `setIdInfo` new_info idinfo = idInfo id new_info = vanillaIdInfo `setArityInfo` exprArity rhs `setAllStrictnessInfo` newStrictnessInfo idinfo `setNewDemandInfo` newDemandInfo idinfo + `setInlinePragInfo` inlinePragInfo idinfo -- Override the env we get back from tidyId with the new IdInfo -- so it gets propagated to the usage sites. @@ -173,7 +177,7 @@ tidyIdBndr env@(tidy_env, var_env) id -- which should save some space. -- But note that tidyLetBndr puts some of it back. ty' = tidyType env (idType id) - id' = mkUserLocal occ' (idUnique id) ty' noSrcLoc + id' = mkUserLocal occ' (idUnique id) ty' noSrcSpan `setIdInfo` vanillaIdInfo var_env' = extendVarEnv var_env id id' in