Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge branch 'master' of http://darcs.haskell.org/ghc into ghc-constraint-solverghc-constraint-solver | Dimitrios Vytiniotis | 2011-11-16 | 32 | -451/+624 |
|\ | |||||
| * | Make the --fast option to validate faster, and add --normal | Simon Marlow | 2011-11-16 | 2 | -33/+58 |
| | | | | | | | | | | | | | | | | | | | | | | | | The --fast option now disables the following: - dynamic libs - bindist and bindisttest Which knocks several minutes off validate for me, but it's still over 30 minutes using 5 cores on 64-bit Linux. Usual caveats apply: if you're using --fast, then make sure you aren't doing anything that might destabilise dynamic libs or binary dists. | ||||
| * | Create parent directories when touching the object file (#5584) | Simon Marlow | 2011-11-16 | 1 | -4/+8 |
| | | |||||
| * | Generate the C main() function when linking a binary (fixes #5373) | Simon Marlow | 2011-11-16 | 12 | -122/+114 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than have main() be statically compiled as part of the RTS, we now generate it into the tiny C file that we compile when linking a binary. The main motivation is that we want to pass the settings for the -rtsotps and -with-rtsopts flags into the RTS, rather than relying on fragile linking semantics to override the defaults, which don't work with DLLs on Windows (#5373). In order to do this, we need to extend the API for initialising the RTS, so now we have: void hs_init_ghc (int *argc, char **argv[], // program arguments RtsConfig rts_config); // RTS configuration hs_init_ghc() can optionally be used instead of hs_init(), and allows passing in configuration options for the RTS. RtsConfig is a struct, which currently has two fields: typedef struct { RtsOptsEnabledEnum rts_opts_enabled; const char *rts_opts; } RtsConfig; but might have more in the future. There is a default value for the struct, defaultRtsConfig, the idea being that you start with this and override individual fields as necessary. In fact, main() was in a separate static library, libHSrtsmain.a. That's now gone. | ||||
| * | Add -fpedantic-bottoms, and document it | Simon Peyton Jones | 2011-11-16 | 5 | -73/+115 |
| | | | | | | | | | | | | I did a bit of refactoring (of course) at the same time. See the discussion in Trac #5587. Most of the real change is in CoreArity. | ||||
| * | Formatting fix | Simon Peyton Jones | 2011-11-16 | 1 | -1/+1 |
| | | |||||
| * | Fix CaseIdentity optimisaion | Simon Peyton Jones | 2011-11-16 | 1 | -9/+10 |
| | | | | | | | | | | | | In fixing one bug I'd introduced another; case x of { T -> T; F -> F } wasn't getting optmised! Trivial to fix. | ||||
| * | Further wibbles to calcUnfoldingGuidance, with documentation of same | Simon Peyton Jones | 2011-11-16 | 1 | -38/+44 |
| | | | | | | | | | | I'd gotten into a state in which top-level x = y bindings weren't getting inlined! | ||||
| * | Replace unused variable with "_" | Simon Peyton Jones | 2011-11-15 | 1 | -1/+1 |
| | | |||||
| * | Merge branch 'master' of http://darcs.haskell.org/ghc | Simon Peyton Jones | 2011-11-15 | 2 | -61/+74 |
| |\ | |||||
| | * | further fixes to the #5505 fix. | Simon Marlow | 2011-11-15 | 1 | -4/+3 |
| | | | |||||
| | * | Avoid generating chains of indirections in stack squeezing (#5505) | Simon Marlow | 2011-11-15 | 1 | -60/+73 |
| | | | |||||
| * | | Improve documentation of SPECIALISE pragma | Simon Peyton Jones | 2011-11-15 | 1 | -3/+12 |
| | | | |||||
| * | | Fix Trac #5628: equality on data types with no constructors | Simon Peyton Jones | 2011-11-15 | 1 | -11/+16 |
| | | | |||||
| * | | Merge branch 'master' of http://darcs.haskell.org/ghc | Simon Peyton Jones | 2011-11-14 | 25 | -185/+236 |
| |\ \ | |||||
| * | | | Add another trace to Simplify (commented out usually) | Simon Peyton Jones | 2011-11-14 | 1 | -1/+5 |
| | | | | |||||
| * | | | Make certainlyWillInline more conservative, so that it is never true of ↵ | Simon Peyton Jones | 2011-11-11 | 1 | -7/+21 |
| | | | | | | | | | | | | | | | | | | | | | | | | thunks. Otherwise the worker-wrapper phase can make a thunk into an unconditionally inline UnfWhen thing, which is Very Bad Thing. Shown up by Trac #5623. See Note [certainlyWillInline: be caseful of thunks]. | ||||
| * | | | Tighten up the definition of arityType a bit further, | Simon Peyton Jones | 2011-11-11 | 1 | -60/+80 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to make Trac #5625 work. The main change is that we eta-expand (case x of p -> \y. blah) only if the case-expression is in the context of a \x. That is still technically unsound, but it makes a big difference to performance; and the change narrows the unsound cases a lot. | ||||
| * | | | Make exprOkForSpeculation more modular (and self-consistent) | Simon Peyton Jones | 2011-11-11 | 1 | -40/+44 |
| | | | | |||||
| * | | | Minor refactoring | Simon Peyton Jones | 2011-11-11 | 1 | -3/+6 |
| | | | | |||||
| * | | | Comment only | Simon Peyton Jones | 2011-11-11 | 1 | -1/+1 |
| | | | | |||||
| * | | | Merge branch 'master' of http://darcs.haskell.org/ghc | Simon Peyton Jones | 2011-11-11 | 6 | -19/+39 |
| |\ \ \ | |||||
| * \ \ \ | Merge branch 'master' of http://darcs.haskell.org/ghc | Simon Peyton Jones | 2011-11-11 | 88 | -2058/+3847 |
| |\ \ \ \ | |||||
| * \ \ \ \ | Merge branch 'master' of http://darcs.haskell.org/ghc | Simon Peyton Jones | 2011-11-10 | 19 | -1650/+1701 |
| |\ \ \ \ \ | |||||
| * | | | | | | Establish the invariant that (LitAlt l) is always unlifted | Simon Peyton Jones | 2011-11-09 | 7 | -17/+49 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...and make sure it is, esp in the call to findAlt in the mighty Simplifier. Failing to check this led to searching a bunch of DataAlts for a LitAlt Integer. Naughty. See Trac #5603 for a case in point. | ||||
* | | | | | | | Minor fix in canonicalization for better error reporting of occur check errors. | Dimitrios Vytiniotis | 2011-11-16 | 1 | -28/+46 |
| | | | | | | | |||||
* | | | | | | | Forgot to stage this fix (from merge) | Dimitrios Vytiniotis | 2011-11-15 | 1 | -1/+1 |
| | | | | | | | |||||
* | | | | | | | Wibbles after the merge. | Dimitrios Vytiniotis | 2011-11-15 | 5 | -34/+36 |
| | | | | | | | |||||
* | | | | | | | Merge branch 'master' of http://darcs.haskell.org/ghc into ghc-constraint-solver | Dimitrios Vytiniotis | 2011-11-15 | 126 | -3865/+5815 |
|\ \ \ \ \ \ \ | | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: compiler/coreSyn/CoreLint.lhs compiler/iface/BinIface.hs compiler/prelude/TysPrim.lhs compiler/simplCore/Simplify.lhs compiler/typecheck/TcCanonical.lhs compiler/typecheck/TcInteract.lhs compiler/typecheck/TcMType.lhs compiler/typecheck/TcSMonad.lhs | ||||
| * | | | | | | Don't discard ticks on literals (fixes the HPC "tough" test) | Simon Marlow | 2011-11-15 | 1 | -1/+2 |
| | |_|_|_|/ | |/| | | | | |||||
| * | | | | | +RTS -xc: print a the closure type of the exception too | Simon Marlow | 2011-11-14 | 4 | -5/+27 |
| | | | | | | |||||
| * | | | | | Don't try to float bindings through ticks | Simon Marlow | 2011-11-14 | 1 | -30/+37 |
| | | | | | | | | | | | | | | | | | | | | | | | | See comments for details | ||||
| * | | | | | wrapTick: don't wrap HNFs (see comment) | Simon Marlow | 2011-11-14 | 1 | -3/+11 |
| | | | | | | |||||
| * | | | | | -fprof-auto-top: eliminate some bogus extra SCCs we were adding | Simon Marlow | 2011-11-14 | 1 | -3/+0 |
| | | | | | | |||||
| * | | | | | fix profiling bug in copyArray#/cloneArray# (cgrun068(profasm) segfault) | Simon Marlow | 2011-11-14 | 2 | -2/+2 |
| | | | | | | |||||
| * | | | | | Use mapAccumL when performing kind and type instantiation | Jose Pedro Magalhaes | 2011-11-14 | 2 | -52/+44 |
| | | | | | | |||||
| * | | | | | Whitespace only. | Jose Pedro Magalhaes | 2011-11-14 | 1 | -4/+0 |
| | | | | | | |||||
| * | | | | | Fix type of vectorised class data constructors and add dfuns into 'VectInfo' | Manuel M T Chakravarty | 2011-11-14 | 4 | -28/+16 |
| | | | | | | |||||
| * | | | | | Include superclass selectors in the vectorisation map | Manuel M T Chakravarty | 2011-11-14 | 1 | -3/+7 |
| | | | | | | |||||
| * | | | | | Improve vectorisation warnings and errors | Manuel M T Chakravarty | 2011-11-14 | 4 | -26/+33 |
| | | | | | | |||||
| * | | | | | Maintain the mapping of class selectors in 'VectInfo' | Manuel M T Chakravarty | 2011-11-14 | 2 | -16/+27 |
| | | | | | | |||||
| * | | | | | Fix loading VectInfo for type constructors | Manuel M T Chakravarty | 2011-11-14 | 3 | -14/+33 |
| | | | | | | |||||
| * | | | | | build system: set dph-lifted-base to be a dph package | Ben Lippmeier | 2011-11-12 | 1 | -0/+1 |
| | | | | | | |||||
| * | | | | | Build system wibbles for new dph-lifted-vseg library | Ben Lippmeier | 2011-11-12 | 2 | -7/+6 |
| | |_|_|/ | |/| | | | | | | | | | | | | | The old dph-par and dph-seq CPP libraries are gone. The DPH front end libraries are now dph-lifted-*, and are only built in one way. | ||||
| * | | | | Normalise FilePaths before hashing (fixes base01) | Simon Marlow | 2011-11-11 | 1 | -3/+7 |
| | | | | | |||||
| * | | | | add comment noting when we can remove a hack | Simon Marlow | 2011-11-11 | 1 | -3/+5 |
| | | | | | |||||
| * | | | | Close the handle for the ticker thread (#5604) | Simon Marlow | 2011-11-11 | 1 | -1/+2 |
| | | | | | |||||
| * | | | | Restore file mode | Jose Pedro Magalhaes | 2011-11-11 | 1 | -0/+0 |
| | | | | | |||||
| * | | | | Better kind error messages from TcCanonical | Jose Pedro Magalhaes | 2011-11-11 | 2 | -12/+25 |
| | |_|/ | |/| | | |||||
| * | | | New kind-polymorphic core | Jose Pedro Magalhaes | 2011-11-11 | 88 | -2058/+3847 |
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | This big patch implements a kind-polymorphic core for GHC. The current implementation focuses on making sure that all kind-monomorphic programs still work in the new core; it is not yet guaranteed that kind-polymorphic programs (using the new -XPolyKinds flag) will work. For more information, see http://haskell.org/haskellwiki/GHC/Kinds |