[project @ 1999-04-14 04:07:57 by kglynn]
authorkglynn <unknown>
Wed, 14 Apr 1999 04:07:57 +0000 (04:07 +0000)
committerkglynn <unknown>
Wed, 14 Apr 1999 04:07:57 +0000 (04:07 +0000)
(keving)

Sigh,  No point w/w pass storing the worker id in wrapper's info
field,  because later simplifications may change the worker id. I've
restored the original code which looks in the wrapper function and
guesses the worker id.  With the addition of CPR transf. this looks a
bit fragile. thinks, thinks, ....

ghc/compiler/main/MkIface.lhs

index ea3f81c..af158b4 100644 (file)
@@ -305,8 +305,11 @@ ifaceId get_idinfo needed_ids is_rec id rhs
                | otherwise      = ppr work_id <+> 
                                   braces (hsep (map ppr con_list))
 
-    (Just work_id) = work_info
-    wrapper_cons   = snd $ getWorkerIdAndCons id rhs
+--    (Just work_id) = work_info
+-- Temporary fix.  We can't use the worker id saved by the w/w
+-- pass because later optimisations may have changed it.  So try
+-- to snaffle from the wrapper code again ...
+    (work_id, wrapper_cons)   = getWorkerIdAndCons id rhs
     con_list       = uniqSetToList wrapper_cons
 
     ------------  Unfolding  --------------