Removed an older version of selectStackFormat
[ghc-hetmet.git] / compiler / cmm / CmmCPS.hs
index 4c1d025..7cc89ba 100644 (file)
@@ -242,58 +242,6 @@ buildContinuation proc_points blocks start =
 --------------------------------------------------------------------------------
 -- For now just select the continuation orders in the order they are in the set with no gaps
 
-selectStackFormat :: BlockEnv CmmLive -> [BrokenBlock] -> BlockEnv StackFormat
-selectStackFormat live blocks =
-    fixedpoint dependants update (map brokenBlockId blocks) emptyUFM
-    where
-      blocks_ufm :: BlockEnv BrokenBlock
-      blocks_ufm = listToUFM $ map (\b -> (brokenBlockId b, b)) blocks
-
-      dependants :: BlockId -> [BlockId]
-      dependants ident =
-          brokenBlockTargets $ lookupWithDefaultUFM
-                                 blocks_ufm unknown_block ident
-
-      update :: BlockId -> Maybe BlockId
-             -> BlockEnv StackFormat -> Maybe (BlockEnv StackFormat)
-      update ident cause formats =
-          if ident `elemUFM` formats
-             then Nothing -- Blocks only need to be updated once
-             else case (cause,
-                        brokenBlockEntry $ lookupWithDefaultUFM blocks_ufm
-                                             unknown_block ident) of
-                    -- Propagate only to blocks entered by branches
-                    -- (not function entry blocks or continuation entry blocks)
-                    (Just cause_name, ControlEntry) ->
-                        Just $ addToUFM formats ident cause_format
-                            where cause_format = lookupWithDefaultUFM
-                                                   formats unknown_block
-                                                   cause_name
-                    -- Do initial calculates for function blocks
-                    (Nothing, FunctionEntry _ _) ->
-                        Just $
-                             addToUFM formats ident $
-                             StackFormat ident 0 []
-                    -- Do initial calculates for continuation blocks
-                    (Nothing, ContinuationEntry _) ->
-                        Just $
-                             addToUFM formats ident $
-                             live_to_format ident $
-                             lookupWithDefaultUFM live unknown_block ident
-                    _ -> Nothing
-
-      unknown_block = panic "unknown BlockId in selectStackFormat"
-
-      live_to_format :: BlockId -> CmmLive -> StackFormat
-      live_to_format label live =
-          foldl extend_format
-                    (StackFormat label retAddrSizeW [])
-                    (uniqSetToList live)
-
-      extend_format :: StackFormat -> LocalReg -> StackFormat
-      extend_format (StackFormat block size offsets) reg =
-          StackFormat block (slot_size reg + size) ((CmmLocal reg, size) : offsets)
-
 selectStackFormat2 :: BlockEnv CmmLive -> [Continuation] -> [(CLabel, StackFormat)]
 selectStackFormat2 live continuations =
     map (\c -> (continuationLabel c, selectStackFormat' c)) continuations