1. 26 Aug, 2008 1 commit
    • simonpj@microsoft.com's avatar
      Fix flaggery for RULES (cf Trac #2497) · 24b1e136
      simonpj@microsoft.com authored
      This patch executes the plan described in the discussion in Trac #2497.
      Specficially:
      
          * Inside a RULE, switch on the forall-as-keyword in the lexer,
            unconditionally. (Actually this is done by an earlier patch.)
      
          * Merge the -XScopedTypeVariables and -XPatternSignatures flags,
            and deprecate the latter. Distinguishing them isn't senseless,
            but it's jolly confusing.
      
          * Inside a RULE, switch on -XScopedTypeVariables unconditionally. 
      
          * Change -frewrite-rules to -fenable-rewrite-rules; deprecate the former. 
            Internally the DynFlag is now Opt_EnableRewriteRules.
      
      There's a test in typecheck/should_compile/T2497.hs
      24b1e136
  2. 12 Aug, 2008 1 commit
    • Simon Marlow's avatar
      put back -fwarn-depcrecations · 27abb1f5
      Simon Marlow authored
      It was replaced by -fwarn-warnings-deprecations, but I think we want
      to keep it for backwards compatibility.  I'm not sure we want to
      deprecate it either...
      27abb1f5
  3. 13 Aug, 2008 1 commit
  4. 05 Aug, 2008 1 commit
    • Simon Marlow's avatar
      Add -XPackageImports, new syntax for package-qualified imports · 1867a7bb
      Simon Marlow authored
      Now you can say
        
        import "network" Network.Socket
      
      and get Network.Socket from package "network", even if there are
      multiple Network.Socket modules in scope from different packages
      and/or the current package.
      
      This is not really intended for general use, it's mainly so that we
      can build backwards-compatible versions of packages, where we need to
      be able to do
      
      module GHC.Base (module New.GHC.Base) where
      import "base" GHC.Base as New.GHC.Base
      1867a7bb
  5. 31 Jul, 2008 1 commit
  6. 05 Aug, 2008 1 commit
  7. 30 Jul, 2008 1 commit
  8. 22 Jul, 2008 2 commits
  9. 20 Jul, 2008 3 commits
  10. 11 Jul, 2008 1 commit
  11. 12 Jul, 2008 1 commit
  12. 09 Jul, 2008 2 commits
    • Ian Lynagh's avatar
      Remove all references to -mno-cygwin · ccc9a4a5
      Ian Lynagh authored
      We shouldn't need it, as we don't call cygwin's gcc, and it was causing
      problems with the nightly builders passing it to GHC.
      ccc9a4a5
    • Simon Marlow's avatar
      add -fwarn-dodgy-foreign-imports (see #1357) · 3b6382e4
      Simon Marlow authored
      From the entry in the User's guide:
      
      -fwarn-dodgy-foreign-imports causes a warning to be emitted for
      foreign imports of the following form:
      
      foreign import "f" f :: FunPtr t
      
      on the grounds that it probably should be
      
      foreign import "&f" f :: FunPtr t
      
      The first form declares that `f` is a (pure) C function that takes no
      arguments and returns a pointer to a C function with type `t`, whereas
      the second form declares that `f` itself is a C function with type
      `t`.  The first declaration is usually a mistake, and one that is hard
      to debug because it results in a crash, hence this warning.
      3b6382e4
  13. 08 Jul, 2008 1 commit
    • Ian Lynagh's avatar
      Extend the flag for not automatically linking haskell98 · 53ec704b
      Ian Lynagh authored
      It now also doesn't automatically link base and rts either.
      We need this when we've done a build, so base and rts are in the
      package.conf, but we've then cleaned the libraries so they don't
      physically exist any more.
      53ec704b
  14. 05 Jul, 2008 1 commit
  15. 02 Jul, 2008 1 commit
  16. 16 Jun, 2008 2 commits
    • simonpj@microsoft.com's avatar
      Fix Trac #2321: bug in SAT · c3693c2d
      simonpj@microsoft.com authored
        This is a fairly substantial rewrite of the Static Argument Transformatoin,
        done by Max Bolingbroke and reviewed and modified by Simon PJ.
        
        * Fix a subtle scoping problem; see Note [Binder type capture]
        * Redo the analysis to use environments
        * Run gentle simlification just before the transformation
      c3693c2d
    • Ian Lynagh's avatar
      More commandline flag improvements · 0f5e104c
      Ian Lynagh authored
      * Allow -ffoo flags to be deprecated
      * Mark some -ffoo flags as deprecated
      * Avoid using deprecated flags in error messages, in the build system, etc
      * Add a flag to en/disable the deprecated flag warning
      0f5e104c
  17. 15 Jun, 2008 1 commit
  18. 14 Jun, 2008 5 commits
  19. 06 Jun, 2008 1 commit
  20. 03 Jun, 2008 1 commit
    • Simon Marlow's avatar
      New flag: -dno-debug-output · 667ef993
      Simon Marlow authored
      From the docs:
         <para>Suppress any unsolicited debugging output.  When GHC
           has been built with the <literal>DEBUG</literal> option it
           occasionally emits debug output of interest to developers.
           The extra output can confuse the testing framework and
           cause bogus test failures, so this flag is provided to
           turn it off.</para>
      667ef993
  21. 30 May, 2008 1 commit
  22. 23 May, 2008 1 commit
  23. 20 May, 2008 2 commits
    • rl@cse.unsw.edu.au's avatar
      Add -Odph · 2412b0b3
      rl@cse.unsw.edu.au authored
      This is the optimisation level recommended when compiling DPH programs. At the
      moment, it is equivalent to -O2 -fno-method-sharing -fdicts-cheap
      -fmax-simplifier-iterations20 -fno-spec-constr-threshold.
      2412b0b3
    • rl@cse.unsw.edu.au's avatar
      Make -f[no-]method-sharing a dynamic flag · bfd0c33d
      rl@cse.unsw.edu.au authored
      We want -Odph to be a dynamic flag and that should imply -fno-method-sharing.
      This doesn't add a lot of complexity.
      bfd0c33d
  24. 07 May, 2008 1 commit
  25. 11 Apr, 2008 1 commit
    • simonpj@microsoft.com's avatar
      Revive the static argument transformation · 31478ab9
      simonpj@microsoft.com authored
      This patch revives the Static Argument Transformation, thanks to
      Max Bolingbroke.  It is enabled with 
      	-fstatic-argument-transformation
      or	-O2
      
      Headline nofib results
      
                        Size    Allocs   Runtime
      Min             +0.0%    -13.7%    -21.4%
      Max             +0.1%     +0.0%     +5.4%
      Geometric Mean  +0.0%     -0.2%     -6.9%
      
      31478ab9
  26. 29 Mar, 2008 1 commit
  27. 06 Mar, 2008 1 commit
    • simonpj@microsoft.com's avatar
      Improve SpecConstr for local bindings: seed specialisation from the calls · e5adcaf8
      simonpj@microsoft.com authored
      This patch makes a significant improvement to SpecConstr, based on
      Roman's experience with using it for stream fusion.  The main change is
      this:
      
        * For local (not-top-level) declarations, seed the specialisation 
          loop from the calls in the body of the 'let'.
      
      See Note [Local recursive groups] for discussion and example.  Top-level
      declarations are treated just as before.
      
      Other changes in this patch:
      
        * New flag -fspec-constr-count=N sets the maximum number of specialisations
          for any single function to N.  -fno-spec-constr-count removes the limit.
      
        * Refactoring in specLoop and friends; new algebraic data types 
          OneSpec and SpecInfo instead of the tuples that were there before
      
        * Be less keen to specialise on variables that are simply in scope.
          Example
            f p q = letrec g a y = ...g....  in g q p
          We probably do not want to specialise 'g' for calls with exactly
          the arguments 'q' and 'p', since we know nothing about them.
      
      e5adcaf8
  28. 22 Feb, 2008 1 commit
  29. 07 Feb, 2008 1 commit
  30. 11 Feb, 2008 1 commit
    • rl@cse.unsw.edu.au's avatar
      Symbolic tags for simplifier phases · a33ae68a
      rl@cse.unsw.edu.au authored
      Every simplifier phase can have an arbitrary number of tags and multiple
      phases can share the same tags. The tags can be used as arguments to
      -ddump-simpl-phases to specify which phases are to be dumped.
      For instance, -ddump-simpl-phases=main will dump the output of phases 2, 1 and
      0 of the initial simplifier run (they all share the "main" tag) while
      -ddump-simpl-phases=main:0 will dump only the output of phase 0 of that run.
      
      At the moment, the supported tags are:
      
        main                 The main, staged simplifier run (before strictness)
        post-worker-wrapper  After the w/w split
        post-liberate-case   After LiberateCase
        final                Final clean-up run
      
      The names are somewhat arbitrary and will change in the future.
      a33ae68a