- (_, g) <- trim g >>= return . elimSpillAndReload varSlots
- gs <- run $ splitAtProcPoints args l procPoints g
- gs `seq` dump Opt_D_dump_cmmz "Pre common block elimination" g
- g <- return $ elimCommonBlocks g
- dump Opt_D_dump_cmmz "Post common block elimination" g
- return $ CmmProc h l args (runTx cmmCfgOptsZ g)
+ slotEnv <- run $ liveSlotAnal g
+ print $ "live slot analysis results: " ++ (showSDoc $ ppr slotEnv)
+ cafEnv <- run $ cafAnal g
+ print $ "live CAF analysis results: " ++ (showSDoc $ ppr cafEnv)
+ slotIGraph <- return $ igraph areaBuilder slotEnv g
+ print $ "slot IGraph: " ++ (showSDoc $ ppr slotIGraph)
+ print $ "graph before procPointMap: " ++ (showSDoc $ ppr g)
+ procPointMap <- run $ procPointAnalysis procPoints g
+ let areaMap = layout procPoints slotEnv g
+ g <- run $ manifestSP procPoints procPointMap areaMap g
+ procPointMap <- run $ procPointAnalysis procPoints g
+ gs <- run $ splitAtProcPoints l callPPs procPoints procPointMap slotEnv areaMap
+ (CmmProc h l args g)
+ return gs
+ --return $ [CmmProc h l args (runTx cmmCfgOptsZ g)]