Skip to content

Commit 40d511e

Browse files
committed
small refactoring in treatment of sets thanks to Mikah
1 parent 2a1986a commit 40d511e

File tree

1 file changed

+6
-14
lines changed

1 file changed

+6
-14
lines changed

gibbon-compiler/src/Gibbon/Passes/InferLocations.hs

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2012,30 +2012,22 @@ cleanExp e =
20122012
oth -> []
20132013
in (Ext (LetLocE loc lex e'), S.delete loc (S.union s' $ S.fromList ls))
20142014
else (e',s')
2015-
Ext (LetLocE s@(SoA dloc flcs) lex@(GenSoALoc _ _) e) -> let (e',s') = cleanExp e
2015+
Ext (LetLocE s@(SoA dloc flcs) lex@(GenSoALoc dcloc flocs) e) -> let (e',s') = cleanExp e
20162016
in if S.member s s'
2017-
then let ls = case lex of
2018-
GenSoALoc dcloc flocs -> [dcloc] ++ P.map (\(_, ll) -> ll) flocs
2017+
then let ls = [dcloc] ++ P.map (\(_, ll) -> ll) flocs
20192018
in (Ext (LetLocE s lex e'), S.delete s (S.union s' $ S.fromList ls))
20202019
else (e',s')
2021-
Ext (LetLocE s@(SoA dloc flcs) lex@(AssignLE _) e) -> let (e',s') = cleanExp e
2020+
Ext (LetLocE s@(SoA dloc flcs) lex@(AssignLE loc) e) -> let (e',s') = cleanExp e
20222021
in if S.member s s'
2023-
then let ls = case lex of
2024-
AssignLE loc -> [loc]
2025-
in (Ext (LetLocE s lex e'), S.delete s (S.union s' $ S.fromList ls))
2022+
then (Ext (LetLocE s lex e'), S.delete s (loc `S.insert` s'))
20262023
else (e' ,s')
20272024
Ext (LetLocE s@(SoA dloc flcs) lex@(GetFieldLocSoA _ loc) e) -> let (e',s') = cleanExp e
20282025
in if S.member s s'
2029-
then let ls = case lex of
2030-
GetFieldLocSoA _ loc -> [loc]
2031-
in (Ext (LetLocE s lex e'), S.delete s (S.union s' $ S.fromList ls))
2026+
then (Ext (LetLocE s lex e'), S.delete s (loc `S.insert` s'))
20322027
else (e' ,s')
20332028
Ext (LetLocE s@(SoA dloc flcs) lex e) -> let (e',s') = cleanExp e
20342029
in if S.member s s'
2035-
then let ls = case lex of
2036-
oth -> []
2037-
in (Ext (LetLocE s lex e'),
2038-
S.delete s (S.union s' $ S.fromList ls))
2030+
then (Ext (LetLocE s lex e'), S.delete s s')
20392031
else (e',s')
20402032
--Ext (LetSoALocE loc e) -> let (e',s') = cleanExp e
20412033
-- in (Ext $ LetSoALocE loc e',s')

0 commit comments

Comments
 (0)