[project @ 2000-08-10 10:31:46 by simonmar]
[ghc-hetmet.git] / ghc / compiler / stranal / StrictAnal.lhs
index a4490cf..15520cb 100644 (file)
@@ -13,18 +13,16 @@ module StrictAnal ( saBinds ) where
 
 import CmdLineOpts     ( opt_D_dump_stranal, opt_D_dump_simpl_stats,  opt_D_verbose_core2core )
 import CoreSyn
-import Id              ( idType, setIdStrictness, setInlinePragma, 
+import Id              ( setIdStrictness, setInlinePragma, 
                          idDemandInfo, setIdDemandInfo, isBottomingId,
                          Id
                        )
-import IdInfo          ( InlinePragInfo(..) )
+import IdInfo          ( neverInlinePrag )
 import CoreLint                ( beginPass, endPass )
-import Type            ( splitRepFunTys )
 import ErrUtils                ( dumpIfSet )
 import SaAbsInt
 import SaLib
 import Demand          ( Demand, wwStrict, isStrict, isLazy )
-import UniqSupply       ( UniqSupply )
 import Util            ( zipWith3Equal, stretchZipWith )
 import Outputable
 \end{code}
@@ -187,12 +185,12 @@ saTopBind str_env abs_env (Rec pairs)
     in
     returnSa (new_str_env, new_abs_env, Rec new_pairs)
 
+-- Hack alert!
 -- Top level divergent bindings are marked NOINLINE
 -- This avoids fruitless inlining of top level error functions
 addStrictnessInfoToTopId str_val abs_val bndr
   = if isBottomingId new_id then
-       new_id `setInlinePragma` IMustNotBeINLINEd False Nothing
-               -- This is a NOINLINE pragma
+       new_id `setInlinePragma` neverInlinePrag
     else
        new_id
   where