on master help sign in
Only compile the reachable names.
commit99d5a0a853401c8265e929caadad3d4213bb9bb6 authorMatus Tejiscak <ziman@functor.sk> dateFri 31 Jan 2014, 10:49 (13 years ago) parent14d352e
1 file changed+5−3
src/IRTS/Compiler.hs+5−3
src/IRTS/Compiler.hs+5−3
@@ -54,9 +54,11 @@ compile codegen f tm
5454 let printItem (cond, deps) = show (S.toList cond) ++ " -> " ++ show (S.toList deps)
5555 iLOG $ "USAGE ANALYSIS:\n" ++ unlines (map printItem . M.toList $ depMap)
5656
57+ let (reachableNames', minUse) = minimalUsage depMap
58+ reachableNames = sUN "prim__subBigInt" : sUN "prim__addBigInt" : S.toList reachableNames'
59+ iLOG $ "REACHABLE NAMES: " ++ show reachableNames
60+
5761 let fmtDepMap = unlines . map (\(n,is) -> show n ++ " -> " ++ show (IS.toList is)) . M.toList
58− let (reachableNames, minUse) = minimalUsage depMap
59− iLOG $ "REACHABLE NAMES: " ++ show (S.toList reachableNames)
6062 iLOG $ "MINIMAL USAGE:\n" ++ fmtDepMap minUse
6163
6264 mapM_ (uncurry storeUsage) (M.toList minUse)
@@ -70,7 +72,7 @@ compile codegen f tm
7072 flags <- getFlags codegen
7173 hdrs <- getHdrs codegen
7274 impdirs <- allImportDirs
73− defsIn <- mkDecls tm used
75+ defsIn <- mkDecls tm reachableNames
7476 let defs = defsIn ++ [(sMN 0 "runMain", maindef)]
7577 -- iputStrLn $ showSep "\n" (map show defs)
7678 let (nexttag, tagged) = addTags 65536 (liftAll defs)