X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FsimplCore%2FCSE.lhs;h=11eec3e684b6d64214c55eb561adc646ffd3e2ca;hp=f8259c77f836e6086519628256c7aaae085c591e;hb=de905f504a3e129e2c4a1906d7e0a26e36cd6c4b;hpb=0a960884b377903e41735bb2d36bec495bf5d890 diff --git a/compiler/simplCore/CSE.lhs b/compiler/simplCore/CSE.lhs index f8259c7..11eec3e 100644 --- a/compiler/simplCore/CSE.lhs +++ b/compiler/simplCore/CSE.lhs @@ -19,6 +19,7 @@ import CoreSyn import VarEnv import CoreLint ( showPass, endPass ) import Outputable +import StaticFlags ( opt_PprStyle_Debug ) import BasicTypes ( isAlwaysActive ) import Util ( mapAccumL, lengthExceeds ) import UniqFM @@ -314,13 +315,14 @@ addCSEnvItem env expr expr' | exprIsBig expr = env extendCSEnv (CS cs in_scope sub) expr expr' = CS (addToUFM_C combine cs hash [(expr, expr')]) in_scope sub where - hash = hashExpr expr - combine old new = WARN( result `lengthExceeds` 4, ((text "extendCSEnv: long list (length" <+> int (length result) <> comma - <+> text "hash code" <+> text (show hash) <> char ')') - $$ nest 4 (ppr result)) ) - result - where - result = new ++ old + hash = hashExpr expr + combine old new + = WARN( result `lengthExceeds` 4, short_msg $$ nest 2 long_msg ) result + where + result = new ++ old + short_msg = ptext SLIT("extendCSEnv: long list, length") <+> int (length result) + long_msg | opt_PprStyle_Debug = (text "hash code" <+> text (show hash)) $$ ppr result + | otherwise = empty lookupSubst (CS _ _ sub) x = case lookupVarEnv sub x of Just y -> y