- 02 Nov, 2012 1 commit
-
-
ian@well-typed.com authored
The wrapper functions can end up in interface files, and thus are part of the ABI hash. But uniqs easily change for no good reason when recompiling, which can lead to an ABI hash needlessly changing.
-
- 01 Nov, 2012 1 commit
-
-
Simon Marlow authored
-
- 30 Oct, 2012 1 commit
-
-
gmainlan@microsoft.com authored
With the new register allocation scheme, the LLVM back end must always use liveness information.
-
- 29 Oct, 2012 1 commit
-
-
Simon Peyton Jones authored
-
- 26 Oct, 2012 1 commit
-
-
Simon Peyton Jones authored
There was a long thread on cvs-ghc which concluded that although it's the Right Thing to deprecate Rank2Types and PolymorphicComponents, in favour of RankNTypes, it would cause lots of busy-work for library authors and the pain isn't worth the gain. So this patch removes the deprecation, and documents the synonym-ity.
-
- 25 Oct, 2012 1 commit
-
-
ian@well-typed.com authored
-
- 23 Oct, 2012 1 commit
-
-
Simon Marlow authored
This means that -static now disables the -fPIC that we're currently getting by default.
-
- 19 Oct, 2012 1 commit
-
-
Simon Peyton Jones authored
We agreed that it's not worth the bother of trying to maintain all these distinct flags; RankNTypes will do the job fine. Trac #6032.
-
- 18 Oct, 2012 1 commit
-
-
ian@well-typed.com authored
We were being inconsistent about how we tested whether dump flags were enabled; in particular, sometimes we also checked the verbosity, and sometimes we didn't. This lead to oddities such as "ghc -v4" printing an "Asm code" section which didn't contain any code, and "-v4" enabled some parts of "-ddump-deriv" but not others. Now all the tests use dopt, which also takes the verbosity into account as appropriate.
-
- 17 Oct, 2012 1 commit
-
-
ian@well-typed.com authored
-
- 16 Oct, 2012 3 commits
-
-
ian@well-typed.com authored
Mostly d -> g (matching DynFlag -> GeneralFlag). Also renamed if* to when*, matching the Haskell if/when names
-
ian@well-typed.com authored
-
ian@well-typed.com authored
This avoids confusion due to [DynFlag] and DynFlags being completely different types.
-
- 15 Oct, 2012 2 commits
-
-
ian@well-typed.com authored
It was turning on Opt_D_dump_cmmz_cbe rather than Opt_D_dump_cmmz_cfg
-
Ian Lynagh authored
-
- 13 Oct, 2012 1 commit
-
-
ian@well-typed.com authored
We instead link objects into a temporary DLL and dlopen that
-
- 09 Oct, 2012 5 commits
-
-
ian@well-typed.com authored
-
ian@well-typed.com authored
-
ian@well-typed.com authored
-
ian@well-typed.com authored
-
ian@well-typed.com authored
I also removed the default values from the "Discounts and thresholds" note: most of them were no longer up-to-date. Along the way I added FloatSuffix to the argument parser, analogous to IntSuffix.
-
- 08 Oct, 2012 3 commits
-
-
ian@well-typed.com authored
-
ian@well-typed.com authored
-
ian@well-typed.com authored
This is an ugly kludge to make a DynFlags value available for the 'trace' functions. It may not be the value we really ought to use, but it'll be good enough for the pretty-printer to use. Ideally we'd pass the real DynFlags down to all the trace calls, but this will do for now at least.
-
- 03 Oct, 2012 2 commits
-
-
ian@well-typed.com authored
-
ian@well-typed.com authored
This required various build system changes to get the build to go through. In the inplace shell wrappers, we set LD_LIBRARY_PATH to allow programs to find their libraries. In the future, we might change the inplace tree to be the same shape as an installed tree instead. However, this would mean changing the way we do installation, as currently we use cabal's installation methods to install the libraries, but that only works if the libraries are under libraries/foo/dist-install/build/..., rather than in inplace/lib/...
-
- 02 Oct, 2012 1 commit
-
-
ian@well-typed.com authored
-
- 01 Oct, 2012 3 commits
-
-
ian@well-typed.com authored
This makes it easier to ensure that we get consistent consistency checking, e.g. that -f1 -f2 will do the same checks as -f2 -f1 I think that some of the checks were bogus before, but hopefully all are correct now.
-
ian@well-typed.com authored
It's still the case that -dynamic -static will leave -fPIC enabled, but it's tricky to avoid that, and we already have similar situations where for example -XRankNTypes -XNoRankNTypes will leave ExplicitForAll enabled.
-
ian@well-typed.com authored
-
- 29 Sep, 2012 1 commit
-
-
ian@well-typed.com authored
We used to add the options when the way was enabled, but this caused problems with the static/dynamic choice, as once the 'dynamic' options had been added it wasn't easy to remove them. We therefore didn't allow -static on the commandline if we'd already seen -static, which kludged around the issue. But apart from being unsatisfactory in the first place, this is a problem if we want to allow -dynamic being on by default, as there wouldn't be any way to turn it off. So now we add C/CPP/linker flags required by the 'way's when flags are requested, rather than during flag parsing.
-
- 26 Sep, 2012 1 commit
-
-
Edward Z. Yang authored
The current fix is relatively dumb as far as where to add HpLim checks: it will always perform a check unless we know that we're returning from a closure or we are doing a non let-no-escape case analysis. The performance impact on the nofib suite looks like this: Min +5.7% -0.0% -6.5% -6.4% -50.0% Max +6.3% +5.8% +5.0% +5.5% +0.8% Geometric Mean +6.2% +0.1% +0.5% +0.5% -0.8% Overall, the executable bloat is the biggest problem, so we keep the old omit-yields optimization on by default. Remember that if you need an interruptibility guarantee, you need to recompile all of your libraries with -fno-omit-yields. A better fix would involve only inserting the yields necessary to break loops; this is left as future work. Signed-off-by:
Edward Z. Yang <ezyang@mit.edu>
-
- 25 Sep, 2012 1 commit
-
-
Simon Marlow authored
-
- 19 Sep, 2012 1 commit
-
-
ian@well-typed.com authored
-
- 17 Sep, 2012 2 commits
-
-
ian@well-typed.com authored
-
Simon Peyton Jones authored
This single commit combines a lot of work done by Thijs Alkemade <thijsalkemade@gmail.com>, plus a slew of subsequent refactoring by Simon PJ. The basic idea is * Add a new expression form "_", a hole, standing for a not-yet-written expression * Give a useful error message that (a) gives the type of the hole (b) gives the types of some enclosing value bindings that mention the hole Driven by this goal I did a LOT of refactoring in TcErrors, which in turn allows us to report enclosing value bindings for other errors, not just holes. (Thijs rightly did not attempt this!) The major data type change is a new form of constraint data Ct = ... | CHoleCan { cc_ev :: CtEvidence, cc_hole_ty :: TcTauType, cc_depth :: SubGoalDepth } I'm still in two minds about whether this is the best plan. Another possibility would be to have a predicate type for holes, somthing like class Hole a where holeValue :: a It works the way it is, but there are some annoying special cases for CHoleCan (just grep for "CHoleCan").
-
- 16 Sep, 2012 2 commits
-
-
ian@well-typed.com authored
-
ian@well-typed.com authored
-
- 14 Sep, 2012 2 commits
-
-
ian@well-typed.com authored
This frees wORD_SIZE up to be moved out of HaskellConstants
-
ian@well-typed.com authored
-