X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FsimplStg%2FSRT.lhs;h=989fa4c1f80a95db872c8e714d889e3b6d8f629e;hb=993ce43d3f3fb6bdb04cbc6d82babdd23355f7d7;hp=57c638d5db6c1373012cf726b87d227225895214;hpb=8127cc88e413dd16c8e2fff41286a68df532637f;p=ghc-hetmet.git diff --git a/compiler/simplStg/SRT.lhs b/compiler/simplStg/SRT.lhs index 57c638d..989fa4c 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,11 +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 @@ -143,9 +139,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 +151,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)