summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
e2c87ca)
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.
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
--- $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
--
--
-- Settings for the driver
--
GLOBAL_VAR(v_MaxSimplifierIterations, 4, Int)
GLOBAL_VAR(v_StgStats, False, Bool)
GLOBAL_VAR(v_UsageSPInf, False, Bool) -- Off by default
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)
GLOBAL_VAR(v_CPR, True, Bool)
GLOBAL_VAR(v_CSE, True, Bool)
\begin{code}
dmdAnalPgm :: DynFlags -> [CoreBind] -> IO [CoreBind]
dmdAnalPgm dflags binds
\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 ;
= do {
showPass dflags "Demand analysis" ;
let { binds_plus_dmds = do_prog binds ;