summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Introducing a datatype for WorkLists that properly prioritizes equalities.ghc-darcs-git-switchoverdimitris@microsoft.com2011-03-313-80/+137
| | | | | | | | | We were not prioritizing the interaction of equalities in the worklist, because pre-canonicalization solved the constraints one by one, in their arrival order. This patch fixes this, so it's a generally useful improvement, mainly for efficiency. It makes #4981 go away, although it's not a definite answer to the cause of the problem. See discussion on Trac.
* Fix Trac #5048: location on AbsBindssimonpj@microsoft.com2011-03-312-17/+17
| | | | | This patch just puts a better SrcSpan on the AbsBinds produced by the type checker
* Comments and variable naming onlysimonpj@microsoft.com2011-03-311-3/+5
|
* Re-enable assertion now the new type checker is insimonpj@microsoft.com2011-03-311-2/+2
| | | | (See Trac #3011.)
* Add a new static flag -fno-opt-coercionsimonpj@microsoft.com2011-03-314-3/+17
| | | | This just disables the coercion optimiser, mainly for measurements in the paper
* New statistics flags -ddump-core-statssimonpj@microsoft.com2011-03-316-1/+112
| | | | | This dumps a (one-line) listing of the size of the Core program, just after tidying
* Windows build fix: ignore pthread.h if it exists (#4989)Simon Marlow2011-03-301-1/+1
|
* Add a debug check for a non-empty FPU stack on x86 (see #4914)Simon Marlow2011-03-303-0/+22
|
* implement double-to-float narrowing in the x86 NCG (#4441)Simon Marlow2011-03-303-7/+20
|
* scheduleThreadOn: use TSO_LOCKED even on the non-threaded RTSSimon Marlow2011-03-301-1/+1
|
* add atexit (#4456)Simon Marlow2011-03-291-0/+1
|
* Turn -vfia-C into a no-opIan Lynagh2011-03-291-16/+8
|
* Remove -fvia-C references from the users guideIan Lynagh2011-03-295-40/+7
|
* Add a tool for checking for problems in the built-in uniquesIan Lynagh2011-03-292-0/+131
|
* Renumber TH uniquesIan Lynagh2011-03-292-145/+145
| | | | | | This fixes a couple of duplicates that had crept in, and also renumbers everything so that they are monotonically increasing through the file.
* Whitespace onlyIan Lynagh2011-03-281-17/+17
|
* fix typo (#5056)Simon Marlow2011-03-291-1/+1
|
* Add a script for library mergingIan Lynagh2011-03-271-0/+34
|
* bindist comparison tool: Some logic improvements, and testsuite supportIan Lynagh2011-03-273-62/+59
|
* Fix the build on Windows (disable hsc2hs --cross-safe)Ian Lynagh2011-03-261-0/+5
| | | | | | The .hsc files aren't currently safe for cross-compilation on Windows: libraries\haskeline\.\System\Console\Haskeline\Backend\Win32.hsc:160 directive "let" is not safe for cross-compilation
* Bindist comparison tool: Recognise OS X .dylib files tooIan Lynagh2011-03-251-3/+3
|
* Fix #4914 (I hope)Simon Marlow2011-03-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Here's a bit of erroneous code: 00000c5c <s1ad_info>: c5c: 8b 45 08 mov 0x8(%ebp),%eax c5f: d9 46 03 flds 0x3(%esi) c62: dd d9 fstp %st(1) c64: d9 55 08 fsts 0x8(%ebp) c67: 89 c6 mov %eax,%esi c69: c7 45 00 24 0c 00 00 movl $0xc24,0x0(%ebp) c70: f7 c6 03 00 00 00 test $0x3,%esi c76: 75 ac jne c24 <s1ac_info> So we should be doing some ffrees before the jne. The code that inserts the ffrees wasn't expecting to do it for a conditional jump, because they are usually local, but we have a late optimisation that shortcuts jumps-to-jumps, and that can result in a non-local conditional jump. This at least fixes an instance of the bug that I was able to reproduce, let's hope there aren't any more.
* Ignore comments when inlining.Edward Z. Yang2011-03-251-0/+1
|
* Fix typo in documentation (Trac #5035)simonpj@microsoft.com2011-03-251-1/+1
|
* Split out "Raw Cmm" dump to its own flag -ddump-raw-cmmEdward Z. Yang2011-03-222-1/+3
| | | | | | | | | | | | | | Previously, -ddump-cmmz was used to dump out the "Raw Cmm" right before it gets passed to the backends, as well as all of the intermediate phases in the new code generator. Unfortunately, there are a lot of intermediate phases, which means -ddump-cmmz takes a very long time with -fnew-codegen for large programs, even if you're only interested in the final result. Here we split up -ddump-cmmz into -ddump-cmmz (now exclusively for the new code generator) and -ddump-raw-cmm (for both code generation paths.) The old flag was not documented in the manual, so hopefully not too many people will be surprised by this change.
* RednCounts can contain CAFs, so support them in cvtToClosureLbl.Edward Z. Yang2011-03-221-0/+1
|
* Immediately tag initialization code to prevent untagged spills.Edward Z. Yang2011-03-233-6/+14
| | | | | | | | | | | | | | | | | | | | When allocating new objects on the heap, we previously returned a CmmExpr containing the heap pointer as well as the tag expression, which would be added to the code graph upon first usage. Unfortunately, this meant that untagged heap pointers living in registers might be spilled to the stack, where they interacted poorly with garbage collection (we saw this bug specifically with the compacting garbage collector.) This fix immediately tags the register containing the heap pointer, so that unless we have extremely unfriendly spill code, the new pointer will never be spilled to the stack untagged. An alternate solution might have been to modify allocDynClosure to tag the pointer upon the initial register allocation, but not all invocations of allocDynClosure tag the resulting pointer, and threading the consequent CgIdInfo for the cases that did would have been annoying.
* Fix Trac #5028: zap occ info when doing the binder swapsimonpj@microsoft.com2011-03-211-5/+20
| | | | | | This fixes the Lint error, but still risks leaving stupid let { x=y } bindings in the code. But no time to fix that today. (Leave the ticket open for that reason.)
* pruneSparkQueue: handle CAFsSimon Marlow2011-03-181-9/+24
|
* Document new hsc2hs flags, and use the --cross-safe flag when we're compilingIan Lynagh2011-03-232-0/+52
| | | | Patch from Brian Bloniarz
* bindist checker improvementsIan Lynagh2011-03-226-122/+204
| | | | | | | * Some refactoring * Support for Windows filenames * Some support for installed trees (as Windows "bindists" are really install trees)
* Rename System.Event to GHC.EventIan Lynagh2011-03-211-2/+2
| | | | It's just an internal GHC library, for now at least
* Hack to get the compare tool to work on Windows "bindists"Ian Lynagh2011-03-211-3/+8
|
* Don't use read_only_relocs on darwin x86-64; fixes #4984William Knop2011-03-092-2/+5
|
* FunctionalDependencies should imply MultiParamTypeClassesMax Bolingbroke2011-03-201-0/+1
|
* Change how we compute install paths on cygwinIan Lynagh2011-03-201-1/+1
| | | | | | | | | | | | | | | We used to have MK_INSTALL_DEST = "$(shell cygpath $1)" but this meant we ended up with "$(shell cygpath "[...]/html/`basename $$i`")" and the $(...) gets evaluated before the makefile rule, so the for loop hasn't been run, and so $i isn't defined. So we were taking the basename of the empty string, meaning docs weren't being installed in the right place. Now we have MK_INSTALL_DEST = $$(cygpath $1) so the evaluation happens in the shell, while the for loop is running.
* Add unboxedTupleTName to templateHaskellNamesIan Lynagh2011-03-171-1/+1
|
* bindist comparison tool: Improve way-difference behaviourIan Lynagh2011-03-161-0/+2
|
* Bindist comparison tool: add --ignore-size-changes flagIan Lynagh2011-03-162-4/+12
|
* Bindist comparison tool: Handle differences in the library ways nicelyIan Lynagh2011-03-166-53/+150
| | | | | In particular, this makes it possible to compare release bindists (with profiling files) and validate bindists (without them).
* Don't put includes/rts/Config.h in bindists twiceIan Lynagh2011-03-161-1/+0
|
* Don't put 2 copies of the RTS libraries in the bindistsIan Lynagh2011-03-161-1/+0
|
* Make include file paths a little prettierIan Lynagh2011-03-161-0/+2
| | | | | This isn't important, but it stops us getting [...]/./[...] in the paths in bindists.
* Initial implementation of bindist comparison toolIan Lynagh2011-03-156-0/+346
|
* Stop explicitly asking for 10.5 support on OS X; fixes #5011Ian Lynagh2011-03-131-10/+0
| | | | | XCode 4 doesn't include the 10.5 SDK, so if we explicitly ask for it then linking fails.
* Write the XCode version test differentlyIan Lynagh2011-03-131-3/+8
| | | | | Using && causes problems on opensolaris, for an unknown reason. http://www.haskell.org/pipermail/cvs-ghc/2011-March/060314.html
* Consistently use <sect1> etc rather than <section>; fixes #5009Ian Lynagh2011-03-111-26/+26
| | | | | | | It might be nicer to actually go the other way, and make everything use <section> instead, but this fixes the incorrect numbering for now, and we can look into whether <section> has any disadvantages later.
* Drop dead core that was kept alive by RULES in CorePrep (#4962)Max Bolingbroke2011-02-192-2/+69
|
* Optimise comparisons against min/maxBound (ticket #3744).Michal Terepeta2010-10-271-13/+61
| | | | | This optimises away comparisons with minBound or maxBound that are always false or always true.
* LLVM: Fix #4995, llvm mangler broken for large compilesDavid Terei2011-03-091-5/+8
|