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
import VarSet
import VarEnv
import Maybes ( orElse, expectJust )
-import Bitmap ( intsToBitmap )
+import Bitmap
-#ifdef DEBUG
import Outputable
-#endif
-
-import List
import Util
\end{code}
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)
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)