git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Inlined operator fixes
ebb9d4fAndy Arvanitis
src/CodeGen/IL/Optimizer.hs+2−5
@@ -21,11 +21,8 @@ import qualified Language.PureScript.Constants as C
21-- | Apply a series of optimizer passes to simplified IL code
21-- | Apply a series of optimizer passes to simplified IL code
22optimize :: MonadSupply m => AST -> AST -> m AST
22optimize :: MonadSupply m => AST -> AST -> m AST
23optimize mn il = do
23optimize mn il = do
24− il' <- untilFixedPoint (inlineFnComposition . inlineUnsafeCoerce . inlineUnsafePartial . tidyUp . applyAll
24+ il' <- untilFixedPoint (inlineFnComposition . inlineUnsafeCoerce . inlineUnsafePartial . tidyUp) il
25− [ inlineCommonValues
26− , inlineCommonOperators
25+ untilFixedPoint (return . inlineCommonValues . inlineCommonOperators . tidyUp) . tco mn . inlineST
27− ]) il
28− untilFixedPoint (return . tidyUp) . tco mn . inlineST
29 =<< untilFixedPoint (return . magicDoST)
26 =<< untilFixedPoint (return . magicDoST)
30 =<< untilFixedPoint (return . magicDoEff)
27 =<< untilFixedPoint (return . magicDoEff)
31 =<< untilFixedPoint (return . magicDoEffect) il'
28 =<< untilFixedPoint (return . magicDoEffect) il'