X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FsimplStg%2FSRT.lhs;h=abad3ce48dfd67cd660b06d5f719747cb4b3ba3d;hb=417f4d59739cc478ca47d081c22d7b0a928c4e95;hp=57c638d5db6c1373012cf726b87d227225895214;hpb=8127cc88e413dd16c8e2fff41286a68df532637f;p=ghc-hetmet.git diff --git a/compiler/simplStg/SRT.lhs b/compiler/simplStg/SRT.lhs index 57c638d..abad3ce 100644 --- a/compiler/simplStg/SRT.lhs +++ b/compiler/simplStg/SRT.lhs @@ -16,8 +16,6 @@ bindings have no CAF references, and record the fact in their IdInfo. module SRT( computeSRTs ) where --- XXX This define is a bit of a hack, and should be done more nicely -#define FAST_STRING_NOT_NEEDED 1 #include "HsVersions.h" import StgSyn @@ -25,13 +23,9 @@ import Id ( Id ) import VarSet import VarEnv import Maybes ( orElse, expectJust ) -import Bitmap ( intsToBitmap ) +import Bitmap -#ifdef DEBUG import Outputable -#endif - -import List import Util \end{code} @@ -143,9 +137,7 @@ srtExpr table (StgLetNoEscape live1 live2 bind body) srtExpr table body =: \ body' -> StgLetNoEscape live1 live2 bind' body' -#ifdef DEBUG -srtExpr table expr = pprPanic "srtExpr" (ppr expr) -#endif +srtExpr _table expr = pprPanic "srtExpr" (ppr expr) srtAlt :: IdEnv Int -> StgAlt -> StgAlt srtAlt table (con,args,used,rhs) @@ -157,7 +149,7 @@ srtAlt table (con,args,used,rhs) constructSRT :: IdEnv Int -> SRT -> SRT constructSRT table (SRTEntries entries) | isEmptyVarSet entries = NoSRT - | otherwise = SRT offset len bitmap + | otherwise = seqBitmap bitmap $ SRT offset len bitmap where ints = map (expectJust "constructSRT" . lookupVarEnv table) (varSetElems entries)