[project @ 2001-07-31 10:06:25 by sewardj]
authorsewardj <unknown>
Tue, 31 Jul 2001 10:06:25 +0000 (10:06 +0000)
committersewardj <unknown>
Tue, 31 Jul 2001 10:06:25 +0000 (10:06 +0000)
Disable all strictness analysis in the HEAD compiler until such time
as we can figure out why the new analyser is not working correctly.
I realise this is a drastic measure, but all previous attempts to
either fix or work around the problem have failed.

If you are doing work which requires maxed-out performance, you may
want to revert the effects of this commit in your source tree.  The
compiler only generates wrong code under pretty obscure circumstances
(when compiling itself).  All other programs appear to work correctly
with the new analyser.

We hope this situation will not last for long.

ghc/compiler/main/DriverState.hs
ghc/compiler/stranal/DmdAnal.lhs

index 75f2cea..719ca5d 100644 (file)
@@ -1,5 +1,5 @@
 -----------------------------------------------------------------------------
--- $Id: DriverState.hs,v 1.50 2001/07/20 10:08:56 simonpj Exp $
+-- $Id: DriverState.hs,v 1.51 2001/07/31 10:06:25 sewardj Exp $
 --
 -- Settings for the driver
 --
@@ -143,7 +143,7 @@ GLOBAL_VAR(v_minus_o2_for_C,            False, Bool)
 GLOBAL_VAR(v_MaxSimplifierIterations,   4,     Int)
 GLOBAL_VAR(v_StgStats,                  False, Bool)
 GLOBAL_VAR(v_UsageSPInf,               False, Bool)  -- Off by default
-GLOBAL_VAR(v_Strictness,               True,  Bool)
+GLOBAL_VAR(v_Strictness,               False {-True-},  Bool)
 GLOBAL_VAR(v_CPR,                      True,  Bool)
 GLOBAL_VAR(v_CSE,                      True,  Bool)
 
index f7cef99..ec5d6e2 100644 (file)
@@ -57,6 +57,8 @@ instance Outputable TopLevelFlag where
 \begin{code}
 dmdAnalPgm :: DynFlags -> [CoreBind] -> IO [CoreBind]
 dmdAnalPgm dflags binds
+  = panic "dmdAnalPgm called"
+dmdAnalPgm dflags binds
   = do {
        showPass dflags "Demand analysis" ;
        let { binds_plus_dmds = do_prog binds ;