From 8acda75bd98763ac5643a2152960102a4d98122b Mon Sep 17 00:00:00 2001 From: Norman Ramsey Date: Tue, 11 Sep 2007 14:29:14 +0000 Subject: [PATCH] correct two single-identifier bugs that stopped the Adams optimization from working --- compiler/cmm/CmmProcPointZ.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/cmm/CmmProcPointZ.hs b/compiler/cmm/CmmProcPointZ.hs index ed4f54e..c5d7177 100644 --- a/compiler/cmm/CmmProcPointZ.hs +++ b/compiler/cmm/CmmProcPointZ.hs @@ -151,7 +151,7 @@ extendPPSet g blocks procPoints = -- more proc points than b and is not already a proc -- point. If found, it can become a proc point. newId succ_id = not (elemBlockSet succ_id procPoints') && - nreached id > my_nreached + nreached succ_id > my_nreached in listToMaybe $ filter newId $ succs b @@ -246,7 +246,7 @@ addProcPointProtocols procPoints formals g = let (Block _ t) = lookupBlockEnv (gr_blocks g) id `orElse` panic "jump out of graph" in case t of - ZTail (CopyOut {}) (ZLast (LastOther (LastBranch pee []))) + ZTail (CopyIn {}) (ZLast (LastOther (LastBranch pee []))) | elemBlockSet pee procPoints -> Just pee _ -> Nothing init_protocols = fold_blocks maybe_add_proto emptyBlockEnv g -- 1.7.10.4