X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FcoreSyn%2FCoreUtils.lhs;h=49bbf151267d1c7c7560ec89fa8b98dd120c4dce;hb=cfcebde74cf826af12143a92bcffa8c995eee135;hp=4e3b22ea00c0fbe8c58f18a0592f103232353912;hpb=7dd11ebc4d4d091edc0f5e3c13f041b99961c136;p=ghc-hetmet.git diff --git a/ghc/compiler/coreSyn/CoreUtils.lhs b/ghc/compiler/coreSyn/CoreUtils.lhs index 4e3b22e..49bbf15 100644 --- a/ghc/compiler/coreSyn/CoreUtils.lhs +++ b/ghc/compiler/coreSyn/CoreUtils.lhs @@ -149,10 +149,13 @@ mkFormSummary expr -- We want selectors to look like values -- e.g. case x of { (a,b) -> a } - -- should give a ValueForm, so that it will be inlined - -- vigorously - go n expr@(Case _ _ _) | exprIsCheap expr = ValueForm - | otherwise = OtherForm + -- should give a ValueForm, so that it will be inlined vigorously + -- [June 99. I can't remember why this is a good idea. It means that + -- all overloading selectors get inlined at their usage sites, which is + -- not at all necessarily a good thing. So I'm rescinding this decision for now.] +-- go n expr@(Case _ _ _) | exprIsCheap expr = ValueForm + + go n expr@(Case _ _ _) = OtherForm go 0 (Lam x e) | isId x = ValueForm -- NB: \x.bottom /= bottom! | otherwise = go 0 e