Made sure that channels are usage checked (by counting them as written variables)
This commit is contained in:
parent
938ceaf12f
commit
48b107b099
|
@ -110,7 +110,8 @@ checkArrayUsage (m,p) = mapM_ (checkIndexes m) $ Map.toList $
|
|||
-- Returns (array name, list of written-to indexes, list of read-from indexes)
|
||||
groupArrayIndexes :: ParItems (BK, Vars) -> Map.Map String (ParItems (BK, [A.Expression], [A.Expression]))
|
||||
groupArrayIndexes = filterByKey . fmap
|
||||
(\(bk,vs) -> zipMap (join bk) (makeList $ Map.keysSet $ writtenVars vs) (makeList $ readVars vs))
|
||||
(\(bk,vs) -> zipMap (join bk) (makeList $ (Map.keysSet $ writtenVars vs)
|
||||
`Set.union` (usedVars vs)) (makeList $ readVars vs))
|
||||
where
|
||||
join :: b -> Maybe [a] -> Maybe [a] -> Maybe (b, [a],[a])
|
||||
join k x y = Just (k, fromMaybe [] x, fromMaybe [] y)
|
||||
|
|
|
@ -211,7 +211,9 @@ checkPlainVarUsage (m, p) = check p
|
|||
where
|
||||
addBK :: BK -> Vars -> VarsBK
|
||||
addBK bk vs = VarsBK (Map.fromAscList $ zip (Set.toAscList $ readVars vs) (repeat bk))
|
||||
(Map.map (\me -> (maybeToList me, bk)) $ writtenVars vs)
|
||||
((Map.map (\me -> (maybeToList me, bk)) $ writtenVars vs)
|
||||
`Map.union` Map.fromAscList (zip (Set.toAscList $ usedVars
|
||||
vs) (repeat ([], bk))))
|
||||
|
||||
reps (RepParItem r p) = r : reps p
|
||||
reps (SeqItems _) = []
|
||||
|
|
Loading…
Reference in New Issue
Block a user