put coqPassCoreToCore on the CoreM monad, greatly simplify Desugar.lhs
[ghc-hetmet.git] / compiler / codeGen / Bitmap.hs
index 93cf43f..acd398c 100644 (file)
@@ -9,7 +9,8 @@
 module Bitmap ( 
        Bitmap, mkBitmap,
        intsToBitmap, intsToReverseBitmap,
-       mAX_SMALL_BITMAP_SIZE
+       mAX_SMALL_BITMAP_SIZE,
+       seqBitmap,
   ) where
 
 #include "HsVersions.h"
@@ -17,6 +18,7 @@ module Bitmap (
 
 import SMRep
 import Constants
+import Util
 
 import Data.Bits
 
@@ -38,7 +40,7 @@ chunkToBitmap chunk =
   foldr (.|.) 0 [ 1 `shiftL` n | (True,n) <- zip chunk [0..] ]
 
 -- | Make a bitmap where the slots specified are the /ones/ in the bitmap.
--- eg. @[1,2,4], size 4 ==> 0xb@.
+-- eg. @[0,1,3], size 4 ==> 0xb@.
 --
 -- The list of @Int@s /must/ be already sorted.
 intsToBitmap :: Int -> [Int] -> Bitmap
@@ -51,7 +53,7 @@ intsToBitmap size slots{- must be sorted -}
    where (these,rest) = span (<wORD_SIZE_IN_BITS) slots
 
 -- | Make a bitmap where the slots specified are the /zeros/ in the bitmap.
--- eg. @[1,2,4], size 4 ==> 0x8@  (we leave any bits outside the size as zero,
+-- eg. @[0,1,3], size 4 ==> 0x4@  (we leave any bits outside the size as zero,
 -- just to make the bitmap easier to read).
 --
 -- The list of @Int@s /must/ be already sorted.
@@ -78,3 +80,6 @@ mAX_SMALL_BITMAP_SIZE :: Int
 mAX_SMALL_BITMAP_SIZE  | wORD_SIZE == 4 = 27
                       | otherwise      = 58
 
+seqBitmap :: Bitmap -> a -> a
+seqBitmap = seqList
+