[project @ 2000-12-08 10:26:41 by simonmar]
[ghc-hetmet.git] / ghc / compiler / main / DriverFlags.hs
index 7db2531..4bd5129 100644 (file)
@@ -1,5 +1,5 @@
 -----------------------------------------------------------------------------
--- $Id: DriverFlags.hs,v 1.27 2000/12/05 16:59:03 rrt Exp $
+-- $Id: DriverFlags.hs,v 1.29 2000/12/08 10:26:41 simonmar Exp $
 --
 -- Driver flags
 --
@@ -381,6 +381,7 @@ dynamic_flags = [
   ,  ( "ddump-simpl",           NoArg (setDynFlag Opt_D_dump_simpl) )
   ,  ( "ddump-simpl-iterations", NoArg (setDynFlag Opt_D_dump_simpl_iterations) )
   ,  ( "ddump-spec",            NoArg (setDynFlag Opt_D_dump_spec) )
+  ,  ( "ddump-sat",             NoArg (setDynFlag Opt_D_dump_sat) )
   ,  ( "ddump-stg",             NoArg (setDynFlag Opt_D_dump_stg) )
   ,  ( "ddump-stranal",         NoArg (setDynFlag Opt_D_dump_stranal) )
   ,  ( "ddump-tc",              NoArg (setDynFlag Opt_D_dump_tc) )
@@ -438,6 +439,13 @@ dynamic_flags = [
   ,  ( "fglasgow-exts", NoArg (setDynFlag Opt_GlasgowExts) )
   ,  ( "fno-implicit-prelude", NoArg (setDynFlag Opt_NoImplicitPrelude) )
 
+       -- Optimisation flags are treated specially, so the normal
+       -- -fno-* pattern below doesn't work.  We therefore allow
+       -- certain optimisation passes to be turned off explicitly:
+  ,  ( "fno-strictness"           , NoArg (writeIORef v_Strictness False) )
+  ,  ( "fno-cpr"          , NoArg (writeIORef v_CPR False) )
+  ,  ( "fno-cse"          , NoArg (writeIORef v_CSE False) )
+
   ,  ( "fallow-overlapping-instances", 
                NoArg (setDynFlag Opt_AllowOverlappingInstances) )