summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Solved goal caching and zonking optimisations.Dimitrios Vytiniotis2011-11-287-302/+415
| | | | | | | | | | | | | | 1) Stopped rewriting and caching solveds in the inerts because profiling showed that a lot of time was spent on rewriting already solved goals. 2) Optimisations in zonkEvBinds for common-case evidence bindings generated from the constraint solver. 3) Now solved goals cache their evidence terms, so that we can more aggressively optimize Refl coercions during constraint solving. This patch also includes a rewrite of rewriteInertEqsFromInertEq which greatly improves its efficiency.
* This patch includes:Dimitrios Vytiniotis2011-11-288-91/+151
| | | | | | | | | | | | | 0) Typo in panic message. 1) prioritization of equalities over family equalities in the worklists. 2) rewriting of inert substitutions and solveds on-the-spot instead of kicking them out in the inerts. This required a monadic map over substitutions hence the modifications in UniqFM. 3) Just comments and removing stale commented code. 4) Useful SCC for simplifyInfer. 5) Making CoreStats outputable.
* Fix document to follow renaming -XPArr to -XParallelArraysshelarcy2011-11-271-2/+2
|
* Test whether ld flags exist before using themIan Lynagh2011-11-273-16/+57
| | | | | Some platforms use linkers that don't support the --hash-size=31 and --reduce-memory-overheads flags.
* Pass "--hash-size=31 --reduce-memory-overhead" to ld; fixes trac #5240Ian Lynagh2011-11-272-3/+8
| | | | These reduce the amount of memory that ld takes when linking.
* Don't list sortBy as a good consumer; fixes trac #5473Ian Lynagh2011-11-261-6/+0
|
* Record ValidateSpeed and ValidateHpc in mk/are-validating.mkIan Lynagh2011-11-261-2/+4
| | | | This makes "make" keep working after a "./validate --fast".
* Small refactoringIan Lynagh2011-11-263-8/+5
|
* Remove a tabs kludgeIan Lynagh2011-11-261-7/+0
|
* Whitespace only in codeGen/CgForeignCall.hsIan Lynagh2011-11-261-101/+101
|
* Whitespace only in codeGen/StgCmmForeign.hsIan Lynagh2011-11-261-99/+92
|
* Small refactoring: Turn a needlessly monadic binding into a let bindingIan Lynagh2011-11-261-7/+5
|
* Only call deSugar from one placeIan Lynagh2011-11-261-7/+6
|
* Move vectorisation of (->) & [::] into the libraryManuel M T Chakravarty2011-11-276-46/+45
| | | | | - (->), [::], & PArray are now vectorised via pragmas (and related clean up) - Repeatedly vectorising a variable or type constructor now raises an error
* Document that sync-all supports gcIan Lynagh2011-11-251-0/+1
|
* Add GC command to sync-all.Edward Z. Yang2011-11-251-0/+4
| | | | Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* Initial documentation for -XPolyKinds in the user's guide.Jose Pedro Magalhaes2011-11-252-8/+242
|
* Less kinds in error messagesJose Pedro Magalhaes2011-11-251-6/+10
| | | | Also "fixes" tcfail158
* Fix kind checking of tuplesJose Pedro Magalhaes2011-11-255-67/+86
| | | | Makes tcrun043 work again.
* Whitespace onlyJose Pedro Magalhaes2011-11-251-3/+2
|
* Time handling overhaulSimon Marlow2011-11-2529-447/+381
| | | | | | | | | | | | | | | | | | | | | Terminology cleanup: the type "Ticks" has been renamed "Time", which is an StgWord64 in units of TIME_RESOLUTION (currently nanoseconds). The terminology "tick" is now used consistently to mean the interval between timer signals. The ticker now always ticks in realtime (actually CLOCK_MONOTONIC if we have it). Before it used CPU time in the non-threaded RTS and realtime in the threaded RTS, but I've discovered that the CPU timer has terrible resolution (at least on Linux) and isn't much use for profiling. So now we always use realtime. This should also fix The default tick interval is now 10ms, except when profiling where we drop it to 1ms. This gives more accurate profiles without affecting runtime too much (<1%). Lots of cleanups - the resolution of Time is now in one place only (Rts.h) rather than having calculations that depend on the resolution scattered all over the RTS. I hope I found them all.
* Fix newtype wrapper for 'PData[s] (Wrap a)' and fix VECTORISE type and ↵Manuel M T Chakravarty2011-11-2518-157/+226
| | | | | | | | instance pragmas * Correct usage of new type wrappers from MkId * 'VECTORISE [SCALAR] type T = S' didn't work correctly across module boundaries * Clean up 'VECTORISE SCALAR instance'
* Fixes for NetBSDIan Lynagh2011-11-257-5/+12
| | | | | Based on a patch from Arnaud Degroote <degroote@NetBSD.org> in trac #5480.
* Merge ../bghcDaniel Fischer2011-11-241-41/+41
|\
| * Fix a few typosDaniel Fischer2011-11-241-9/+9
| |
| * Whitespace only in glasgow_exts.xmlDaniel Fischer2011-11-241-32/+32
| |
* | Update the sdist VCS exclusionsIan Lynagh2011-11-241-1/+1
| | | | | | | | In particular, we now ignore .git directories
* | Fix sdist creationIan Lynagh2011-11-241-1/+1
| |
* | Fix markup (non-validate-breaking)Simon Marlow2011-11-241-4/+4
| |
* | Relax the restriction on using abstract newtypes in FFI declarations.Simon Marlow2011-11-241-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Given the high impact of this change, we decided to back off and make abstract newtypes give a warning for one release, before we make it an error in 7.6.1. Codec/Compression/Zlib/Stream.hsc:884:1: Warning: newtype `CInt' is used in an FFI declaration, but its constructor is not in scope. This will become an error in GHC 7.6.1. When checking declaration: foreign import ccall unsafe "static zlib.h deflate" c_deflate :: StreamState -> CInt -> IO CInt
* | Fix the filename passed to unlit (see comment for details)Simon Marlow2011-11-241-3/+14
| |
* | copyFileWithHeader: write the header in UTF-8Simon Marlow2011-11-241-1/+13
|/
* Fix userguide markupIan Lynagh2011-11-241-1/+1
|
* Replace a couple of "rm -rf" invocations with $(call removeTrees,...)Ian Lynagh2011-11-241-2/+2
|
* Support "phase control" for SPECIALISE pragmasSimon Peyton Jones2011-11-244-8/+106
| | | | | | | | | | | | | This featurelet allows Trac #5237 to be fixed. The idea is to allow SPECIALISE pragmas to specify the phases in which the RULE is active, just as you can do with RULES themselves. {-# SPECIALISE [1] foo :: Int -> Int #-} This feature is so obvious that not having it is really a bug. There are, needless to say, a few wrinkles. See Note [Activation pragmas for SPECIALISE] in DsBinds
* Merge branch 'master' of http://darcs.haskell.org/ghcSimon Peyton Jones2011-11-242-19/+17
|\ | | | | | | | | Conflicts: compiler/ghci/ByteCodeItbls.lhs
| * Fix bug in flushStdHandles()Simon Marlow2011-11-241-1/+1
| | | | | | | | Was causing occasional failure in some threaded2 tests.
| * fix warnings (validate was failing on i386)Simon Marlow2011-11-241-3/+7
| |
* | Merge branch 'master' of http://darcs.haskell.org/ghcSimon Peyton Jones2011-11-243-11/+27
|\ \ | |/
| * Remove unused cRelocatableBuildSimon Marlow2011-11-231-6/+0
| |
| * Decode escape sequences properly in line pragmas (see comment for details).Simon Marlow2011-11-231-1/+13
| |
| * Checking UsageFile: don't fail if the file doesn't exist, just recompileSimon Marlow2011-11-231-4/+14
| | | | | | | | | | | | | | | | If a file we depended on last time is missing, we should recompile. This also makes us insensitive to mistakes when recording dependent source files (such as storing a temporary file), but will make more recompilation happen instead. With DEBUG on, you get a warning.
* | Fix build on WindowsSimon Peyton Jones2011-11-231-13/+18
| |
* | Use mkAppTys, not foldl AppTy, which was utterly wrongSimon Peyton Jones2011-11-231-14/+15
|/ | | | This bug caused Trac #5655
* Keep the flag lists as IntSets rather than listsSimon Marlow2011-11-232-23/+25
| | | | This improves compile times slightly.
* Fix and clean up 'PData' and 'Wrap' usage of the vectoriserManuel M T Chakravarty2011-11-238-572/+213
|
* Don't warn about not vectorised type synonymsManuel M T Chakravarty2011-11-231-4/+5
|
* Fix compilation error in unreg modeDavid Terei2011-11-221-1/+1
|
* Add '-dno-llvm-mangler' flag for debugging purposesDavid Terei2011-11-222-2/+10
|
* Clean up LLVM Mangler.David Terei2011-11-221-48/+14
|