[project @ 1999-07-14 11:16:43 by simonmar]
[ghc-hetmet.git] / ghc / driver / ghc.lprl
index df37749..9886de5 100644 (file)
@@ -281,11 +281,11 @@ these are turned off by -Wnot.
                     '-fwarn-missing-methods',
                     '-fwarn-duplicate-exports');
 @MinusWOpts              = (@StandardWarnings, 
-                    '-fwarn-incomplete-patterns', 
                     '-fwarn-unused-binds',
+                    '-fwarn-unused-matches',
+                    '-fwarn-incomplete-patterns', 
                     '-fwarn-unused-imports');
 @MinusWallOpts           = (@MinusWOpts, 
-                    '-fwarn-unused-matches',
                     '-fwarn-type-defaults',
                     '-fwarn-name-shadowing',
                     '-fwarn-missing-signatures');
@@ -702,7 +702,6 @@ sub setupOptimiseFlags {
        '-ffoldr-build-on',
 
         '-fdo-eta-reduction',
-       '-fdo-case-elim',
        '-fdo-lambda-eta-expansion',
        '-fcase-of-case',
        '-fcase-merge',
@@ -773,8 +772,15 @@ sub setupOptimiseFlags {
                # No -finline-phase: allow all Ids to be inlined now
          ']',
 
+       '-fcse',        # CSE must immediately follow a simplification pass, because it relies
+                       # on the no-shadowing invariant.  See comments at the top of CSE.lhs
+                
+       '-ffull-laziness',      # nofib/spectral/hartel/wang doubles in speed if you
+                               # do full laziness late in the day.  It only happens
+                               # after fusion and other stuff, so the early pass doesn't
+                               # catch it.  For the record, the redex is 
+                               #       f_el22 (f_el21 r_midblock)
        '-ffloat-inwards',
-       '-fcse',
 
 # Case-liberation for -O2.  This should be after
 # strictness analysis and the simplification which follows it.
@@ -1074,6 +1080,7 @@ sub setupLinkOpts {
           ,'-u', "${uscore}PrelPack_unpackCString_closure"
           ,'-u', "${uscore}PrelException_stackOverflow_closure"
           ,'-u', "${uscore}PrelException_heapOverflow_closure"
+          ,'-u', "${uscore}PrelException_NonTermination_static_closure"
        ));
   if (!$NoHaskellMain) {
    unshift (@Ld_flags,'-u', "${uscore}PrelMain_mainIO_closure");