X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=compiler%2Fcmm%2FDataflow.hs;fp=compiler%2Fcmm%2FDataflow.hs;h=81934bcb25e2f598c891edde99af78735eea3b45;hb=85255a966b21172ce5a26c8a9cb0cdaf7315be95;hp=35fdebbce4df55a0d9eac145bc25c8aac3cff099;hpb=c1153c7803e311d7b6e7de454ea0156b211281c3;p=ghc-hetmet.git diff --git a/compiler/cmm/Dataflow.hs b/compiler/cmm/Dataflow.hs index 35fdebb..81934bc 100644 --- a/compiler/cmm/Dataflow.hs +++ b/compiler/cmm/Dataflow.hs @@ -24,10 +24,10 @@ module Dataflow ( -- that is H*E. The N term of the complexity is from the initial call -- when 'update' will be passed 'Nothing'. fixedpoint :: - (node -> [node]) -- ^ map from nodes to those who's + (node -> [node]) -- map from nodes to those who's -- value depend on the argument node -> (node -> Maybe node -> s -> Maybe s) - -- ^ Given the node which needs to be + -- Given the node which needs to be -- updated, and which node caused that node -- to need to be updated, update the state. -- @@ -37,13 +37,13 @@ fixedpoint :: -- Must return 'Nothing' if no change, -- otherwise returrn 'Just' of the new state. - -> [node] -- ^ Nodes that should initially be updated + -> [node] -- Nodes that should initially be updated - -> s -- ^ Initial state + -> s -- Initial state -- (usually a map from node to -- the value for that node) - -> s -- ^ Final state + -> s -- Final state fixedpoint dependants update nodes state = foldr (fixedpoint' Nothing) state nodes where -- Use a depth first traversal of nodes based on the update graph.