summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' of http://darcs.haskell.org/ghc into ghc-constraint-solverghc-constraint-solverDimitrios Vytiniotis2011-11-1632-451/+624
|\
| * Make the --fast option to validate faster, and add --normalSimon Marlow2011-11-162-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 Marlow2011-11-161-4/+8
| |
| * Generate the C main() function when linking a binary (fixes #5373)Simon Marlow2011-11-1612-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 itSimon Peyton Jones2011-11-165-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 fixSimon Peyton Jones2011-11-161-1/+1
| |
| * Fix CaseIdentity optimisaionSimon Peyton Jones2011-11-161-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 sameSimon Peyton Jones2011-11-161-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 Jones2011-11-151-1/+1
| |
| * Merge branch 'master' of http://darcs.haskell.org/ghcSimon Peyton Jones2011-11-152-61/+74
| |\
| | * further fixes to the #5505 fix.Simon Marlow2011-11-151-4/+3
| | |
| | * Avoid generating chains of indirections in stack squeezing (#5505)Simon Marlow2011-11-151-60/+73
| | |
| * | Improve documentation of SPECIALISE pragmaSimon Peyton Jones2011-11-151-3/+12
| | |
| * | Fix Trac #5628: equality on data types with no constructorsSimon Peyton Jones2011-11-151-11/+16
| | |
| * | Merge branch 'master' of http://darcs.haskell.org/ghcSimon Peyton Jones2011-11-1425-185/+236
| |\ \
| * | | Add another trace to Simplify (commented out usually)Simon Peyton Jones2011-11-141-1/+5
| | | |
| * | | Make certainlyWillInline more conservative, so that it is never true of ↵Simon Peyton Jones2011-11-111-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 Jones2011-11-111-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 Jones2011-11-111-40/+44
| | | |
| * | | Minor refactoringSimon Peyton Jones2011-11-111-3/+6
| | | |
| * | | Comment onlySimon Peyton Jones2011-11-111-1/+1
| | | |
| * | | Merge branch 'master' of http://darcs.haskell.org/ghcSimon Peyton Jones2011-11-116-19/+39
| |\ \ \
| * \ \ \ Merge branch 'master' of http://darcs.haskell.org/ghcSimon Peyton Jones2011-11-1188-2058/+3847
| |\ \ \ \
| * \ \ \ \ Merge branch 'master' of http://darcs.haskell.org/ghcSimon Peyton Jones2011-11-1019-1650/+1701
| |\ \ \ \ \
| * | | | | | Establish the invariant that (LitAlt l) is always unliftedSimon Peyton Jones2011-11-097-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 Vytiniotis2011-11-161-28/+46
| | | | | | |
* | | | | | | Forgot to stage this fix (from merge)Dimitrios Vytiniotis2011-11-151-1/+1
| | | | | | |
* | | | | | | Wibbles after the merge.Dimitrios Vytiniotis2011-11-155-34/+36
| | | | | | |
* | | | | | | Merge branch 'master' of http://darcs.haskell.org/ghc into ghc-constraint-solverDimitrios Vytiniotis2011-11-15126-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 Marlow2011-11-151-1/+2
| | |_|_|_|/ | |/| | | |
| * | | | | +RTS -xc: print a the closure type of the exception tooSimon Marlow2011-11-144-5/+27
| | | | | |
| * | | | | Don't try to float bindings through ticksSimon Marlow2011-11-141-30/+37
| | | | | | | | | | | | | | | | | | | | | | | | See comments for details
| * | | | | wrapTick: don't wrap HNFs (see comment)Simon Marlow2011-11-141-3/+11
| | | | | |
| * | | | | -fprof-auto-top: eliminate some bogus extra SCCs we were addingSimon Marlow2011-11-141-3/+0
| | | | | |
| * | | | | fix profiling bug in copyArray#/cloneArray# (cgrun068(profasm) segfault)Simon Marlow2011-11-142-2/+2
| | | | | |
| * | | | | Use mapAccumL when performing kind and type instantiationJose Pedro Magalhaes2011-11-142-52/+44
| | | | | |
| * | | | | Whitespace only.Jose Pedro Magalhaes2011-11-141-4/+0
| | | | | |
| * | | | | Fix type of vectorised class data constructors and add dfuns into 'VectInfo'Manuel M T Chakravarty2011-11-144-28/+16
| | | | | |
| * | | | | Include superclass selectors in the vectorisation mapManuel M T Chakravarty2011-11-141-3/+7
| | | | | |
| * | | | | Improve vectorisation warnings and errorsManuel M T Chakravarty2011-11-144-26/+33
| | | | | |
| * | | | | Maintain the mapping of class selectors in 'VectInfo'Manuel M T Chakravarty2011-11-142-16/+27
| | | | | |
| * | | | | Fix loading VectInfo for type constructorsManuel M T Chakravarty2011-11-143-14/+33
| | | | | |
| * | | | | build system: set dph-lifted-base to be a dph packageBen Lippmeier2011-11-121-0/+1
| | | | | |
| * | | | | Build system wibbles for new dph-lifted-vseg libraryBen Lippmeier2011-11-122-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 Marlow2011-11-111-3/+7
| | | | |
| * | | | add comment noting when we can remove a hackSimon Marlow2011-11-111-3/+5
| | | | |
| * | | | Close the handle for the ticker thread (#5604)Simon Marlow2011-11-111-1/+2
| | | | |
| * | | | Restore file modeJose Pedro Magalhaes2011-11-111-0/+0
| | | | |
| * | | | Better kind error messages from TcCanonicalJose Pedro Magalhaes2011-11-112-12/+25
| | |_|/ | |/| |
| * | | New kind-polymorphic coreJose Pedro Magalhaes2011-11-1188-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