on master help sign in
javascript: collapse noop conditionals
126fbbcraichoo
src/IRTS/CodegenJavaScript.hs+6−1
@@ -1154,7 +1154,7 @@ unfoldLookupTable input =
1154
1154
1155removeInstanceChecks :: JS -> JS
1155removeInstanceChecks :: JS -> JS
1156removeInstanceChecks (JSCond conds) =
1156removeInstanceChecks (JSCond conds) =
1157− JSCond $ eliminateDeadBranches $ map (
1157+ removeNoopConds $ JSCond $ eliminateDeadBranches $ map (
1158 removeHelper *** removeInstanceChecks
1158 removeHelper *** removeInstanceChecks
1159 ) conds
1159 ) conds
1160 where
1160 where
@@ -1169,6 +1169,11 @@ removeInstanceChecks (JSCond conds) =
1169 eliminateDeadBranches (x:xs) = x : eliminateDeadBranches xs
1169 eliminateDeadBranches (x:xs) = x : eliminateDeadBranches xs
1170 eliminateDeadBranches [] = []
1170 eliminateDeadBranches [] = []
1171
1171
1172+
1173+ removeNoopConds :: JS -> JS
1174+ removeNoopConds (JSCond [(JSNoop, js)]) = js
1175+ removeNoopConds js = js
1176+
1172removeInstanceChecks js = transformJS removeInstanceChecks js
1177removeInstanceChecks js = transformJS removeInstanceChecks js
1173
1178
1174
1179