From 9a740fb96076fe9e02a62e391a905c6ca6d3a571 Mon Sep 17 00:00:00 2001 From: "Michael D. Adams" Date: Wed, 23 May 2007 10:52:48 +0000 Subject: [PATCH] Removed an older version of selectStackFormat --- compiler/cmm/CmmCPS.hs | 52 ------------------------------------------------ 1 file changed, 52 deletions(-) diff --git a/compiler/cmm/CmmCPS.hs b/compiler/cmm/CmmCPS.hs index 4c1d025..7cc89ba 100644 --- a/compiler/cmm/CmmCPS.hs +++ b/compiler/cmm/CmmCPS.hs @@ -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 -- 1.7.10.4