+ anon <- isAnonExpr <$> hoist (buildAST ast)
+ def <- mostRecentDef
+
+ ast <- moduleSoFar "main"
+ ctx <- lift ask
+ liftIO $ withModuleFromAST ctx ast $ \mdl -> do
+ Text.hPutStrLn stderr $ ppll def
+ let spec = defaultCuratedPassSetSpec { optLevel = Just 3 }
+ -- this returns true if the module was modified
+ withPassManager spec $ flip runPassManager mdl
+ Text.hPutStrLn stderr . ("\n" <>) . ppllvm =<< moduleAST mdl
+ when anon (jit mdl >>= hPrint stderr)
+
+ when anon (removeDef def)