Ian Lynagh [Sat, 19 Jun 2010 23:52:14 +0000 (23:52 +0000)]
SET_ARR_HDR's last argument is now a number of bytes, rather than words
This avoids unnecessary work and potential loss of information
Ian Lynagh [Sat, 19 Jun 2010 23:43:10 +0000 (23:43 +0000)]
Replace an (incorrect) bytes-to-words calculation with ROUNDUP_BYTES_TO_WDS
Antoine Latter [Fri, 1 Jan 2010 18:33:46 +0000 (18:33 +0000)]
FIX #38000 Store StgArrWords payload size in bytes
David Terei [Fri, 18 Jun 2010 13:17:33 +0000 (13:17 +0000)]
Add win32 datalayout support to llvm backend
David Terei [Fri, 18 Jun 2010 10:12:37 +0000 (10:12 +0000)]
Remove unused 'ddump-opt-llvm' flag
Simon Marlow [Fri, 18 Jun 2010 08:22:58 +0000 (08:22 +0000)]
generate "movl lbl(%reg1), %reg2" instructions, better codegen for -fPIC
Simon Marlow [Fri, 18 Jun 2010 08:21:47 +0000 (08:21 +0000)]
joinToTargets: fix a case of panic "handleComponent cyclic"
Simon Marlow [Fri, 18 Jun 2010 08:21:02 +0000 (08:21 +0000)]
comment typo
David Terei [Fri, 18 Jun 2010 09:32:05 +0000 (09:32 +0000)]
Add support of TNTC to llvm backend
We do this through a gnu as feature called subsections,
where you can put data/code into a numbered subsection
and those subsections will be joined together in descending
order by gas at compile time.
Ian Lynagh [Thu, 17 Jun 2010 19:09:01 +0000 (19:09 +0000)]
Don't automatically insert a -fvia-C flag in an unregisterised compiler
The default object mode is already HscC, so it's unnecessary, and
-fvia-C generates a deprecated flag warning now.
Ian Lynagh [Thu, 17 Jun 2010 17:49:12 +0000 (17:49 +0000)]
In PosixSource.h, conditionally define things based on platform
This may not be ideal, but it should get GHC building on all platforms
again.
Simon Marlow [Thu, 17 Jun 2010 14:00:25 +0000 (14:00 +0000)]
disable -fPIC for the GC for performance reasons
see comment for details
Simon Marlow [Thu, 17 Jun 2010 11:52:59 +0000 (11:52 +0000)]
picCCOpts: -dynamic should not entail -optc-fPIC
Simon Marlow [Thu, 17 Jun 2010 11:32:59 +0000 (11:32 +0000)]
Make getAllocations() visible
Simon Marlow [Thu, 17 Jun 2010 10:57:58 +0000 (10:57 +0000)]
Fix the symbol visibility pragmas
Simon Marlow [Wed, 16 Jun 2010 12:47:18 +0000 (12:47 +0000)]
pick up changes to $(GhcStage1HcOpts) without re-configuring the ghc package
Ian Lynagh [Wed, 16 Jun 2010 20:56:11 +0000 (20:56 +0000)]
Fix bindisttest Makefile
Ian Lynagh [Wed, 16 Jun 2010 18:05:19 +0000 (18:05 +0000)]
Remove some more unused make variables
Ian Lynagh [Wed, 16 Jun 2010 17:59:16 +0000 (17:59 +0000)]
Convert some more variable names to FOO_CMD, for consistency
Ian Lynagh [Wed, 16 Jun 2010 16:11:08 +0000 (16:11 +0000)]
Rename some variables from FOO to FOO_CMD
This fixes a problem with commands like gzip, where if $GZIP is exported
in the environment, then when make runs a command it'll put the Makefile
variable's value in the environment. But gzip treats $GZIP as arguments
for itself, so when we run gzip it thinks we're giving it "gzip" as an
argument.
Ian Lynagh [Wed, 16 Jun 2010 12:29:10 +0000 (12:29 +0000)]
Make the "show" target work anywhere in the build tree
Ian Lynagh [Tue, 15 Jun 2010 20:40:15 +0000 (20:40 +0000)]
Change ghc-pwd's license to a string Cabal recognises
Simon Marlow [Fri, 4 Jun 2010 20:59:33 +0000 (20:59 +0000)]
fix warning
Simon Marlow [Thu, 27 May 2010 21:46:27 +0000 (21:46 +0000)]
--install-signal-handles=no does not affect the timer signal (#1908)
Simon Marlow [Sun, 9 May 2010 19:49:28 +0000 (19:49 +0000)]
Small optimisation: allocate nursery blocks contiguously
This lets automatic prefetching work better, for a tiny performance boost
Simon Marlow [Fri, 7 May 2010 08:45:07 +0000 (08:45 +0000)]
fix -fforce-recomp setting: module is PrimOp, not PrimOps
Simon Marlow [Tue, 15 Jun 2010 15:17:40 +0000 (15:17 +0000)]
it should be an error to use relative directories (#4134)
Simon Marlow [Tue, 15 Jun 2010 15:17:02 +0000 (15:17 +0000)]
missing include-dirs or library-dirs is only a warning now (#4104)
Ross Paterson [Tue, 15 Jun 2010 22:51:10 +0000 (22:51 +0000)]
fix #3822: desugaring case command in arrow notation
Get the set of free variables from the generated case expression:
includes variables in the guards and decls that were missed before,
and is also a bit simpler.
Ian Lynagh [Tue, 15 Jun 2010 15:18:36 +0000 (15:18 +0000)]
Deprecate the -fvia-C flag; trac #3232
Ian Lynagh [Tue, 15 Jun 2010 15:12:36 +0000 (15:12 +0000)]
Avoid using the new ~~ perl operator in the mangler
Simon Marlow [Tue, 15 Jun 2010 12:36:43 +0000 (12:36 +0000)]
stmAddInvariantToCheck: add missing init of invariant->lock (#4057)
David Terei [Tue, 15 Jun 2010 09:47:14 +0000 (09:47 +0000)]
Add new LLVM code generator to GHC. (Version 2)
This was done as part of an honours thesis at UNSW, the paper describing the
work and results can be found at:
http://www.cse.unsw.edu.au/~pls/thesis/davidt-thesis.pdf
A Homepage for the backend can be found at:
http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM
Quick summary of performance is that for the 'nofib' benchmark suite, runtimes
are within 5% slower than the NCG and generally better than the C code
generator. For some code though, such as the DPH projects benchmark, the LLVM
code generator outperforms the NCG and C code generator by about a 25%
reduction in run times.
simonpj@microsoft.com [Tue, 15 Jun 2010 07:06:26 +0000 (07:06 +0000)]
Fix Trac #4127: build GlobalRdrEnv in GHCi correctly
GHCi was building its GlobalRdrEnv wrongly, so that the
gre_par field was bogus. That in turn fooled the renamer.
The fix is easy: use the right function! Namely, call
RnNames.gresFromAvail rather than availsToNameSet.
simonpj@microsoft.com [Tue, 15 Jun 2010 07:04:09 +0000 (07:04 +0000)]
Comments, and improvement to pretty-printing of HsGroup
simonpj@microsoft.com [Mon, 14 Jun 2010 16:39:35 +0000 (16:39 +0000)]
Don't reverse bindings in rnMethodBinds (fix Trac #4126)
simonpj@microsoft.com [Mon, 14 Jun 2010 13:43:11 +0000 (13:43 +0000)]
Fix Trac #4120: generate a proper coercion when unifying forall types
This was just a blatant omission, which hasn't come up before.
Easily fixed, happily.
simonpj@microsoft.com [Mon, 14 Jun 2010 13:41:59 +0000 (13:41 +0000)]
Use mkFunTy to ensure that invariants are respected
simonpj@microsoft.com [Tue, 1 Jun 2010 15:41:51 +0000 (15:41 +0000)]
Remove redundant debug code
simonpj@microsoft.com [Mon, 31 May 2010 14:04:13 +0000 (14:04 +0000)]
Fix Trac #4099: better error message for type functions
Now we only want about "T is a type function and might not be
injective" when matchin (T x) against (T y), which is the case
that is really confusing.
simonpj@microsoft.com [Mon, 14 Jun 2010 13:27:26 +0000 (13:27 +0000)]
Gruesome fix in CorePrep to fix embarassing Trac #4121
This is a long-lurking bug that has been flushed into
the open by other arity-related changes. There's a
long comment
Note [CafInfo and floating]
to explain.
I really hate the contortions we have to do through to keep correct
CafRef information on top-level binders. The Right Thing, I believe,
is to compute CAF and arity information later, and merge it into the
interface-file information when the latter is generated.
But for now, this hackily fixes the problem.
simonpj@microsoft.com [Mon, 31 May 2010 15:00:13 +0000 (15:00 +0000)]
Fix a bug in CorePrep that meant output invariants not satisfied
In cpePair I did things in the wrong order so that something that
should have been a CprRhs wasn't. Result: a crash in CoreToStg.
Fix is easy, and I added more informative type signatures too.
simonpj@microsoft.com [Mon, 31 May 2010 14:53:32 +0000 (14:53 +0000)]
Robustify the treatement of DFunUnfolding
See Note [DFun unfoldings] in CoreSyn. The issue here is that
you can't tell how many dictionary arguments a DFun needs just
from looking at the Arity of the DFun Id: if the dictionary is
represented by a newtype the arity might include the dictionary
and value arguments of the (single) method.
So we need to record the number of arguments need by the DFun
in the DFunUnfolding itself. Details in
Note [DFun unfoldings] in CoreSyn
simonpj@microsoft.com [Mon, 14 Jun 2010 13:22:59 +0000 (13:22 +0000)]
Fix spelling in comment
simonpj@microsoft.com [Mon, 14 Jun 2010 07:48:01 +0000 (07:48 +0000)]
Update docs on view patterns
Ian Lynagh [Sun, 13 Jun 2010 15:48:38 +0000 (15:48 +0000)]
Fix printing of splices; part of #4124
Just putting parens around non-atomic expressions isn't sufficient
for splices, as only the $x and $(e) forms are valid input.
Ian Lynagh [Sun, 13 Jun 2010 13:46:27 +0000 (13:46 +0000)]
In ghci, catch IO exceptions when calling canonicalizePath
We now get an exception if the path doesn't exist
Ian Lynagh [Sat, 12 Jun 2010 21:31:19 +0000 (21:31 +0000)]
Whitespace only
Ian Lynagh [Sat, 12 Jun 2010 16:54:50 +0000 (16:54 +0000)]
Whitespace only
Ian Lynagh [Sat, 12 Jun 2010 16:22:50 +0000 (16:22 +0000)]
Update ghci example output in user guide; patch from YitzGale in #4111
benl@ouroborus.net [Fri, 11 Jun 2010 04:46:14 +0000 (04:46 +0000)]
Fix #4131 missing UNTAG_CLOSURE in messageBlackHole()
Simon Marlow [Thu, 10 Jun 2010 08:06:36 +0000 (08:06 +0000)]
messageBlackHole: fix deadlock bug caused by a missing 'volatile'
Simon Marlow [Fri, 4 Jun 2010 08:32:14 +0000 (08:32 +0000)]
Pass --no-tmp-comp-dir to Haddock (see comment)
Roman Leshchinskiy [Mon, 7 Jun 2010 05:29:03 +0000 (05:29 +0000)]
Track changes to DPH libs
Roman Leshchinskiy [Mon, 7 Jun 2010 01:26:42 +0000 (01:26 +0000)]
Track changes to DPH libs
Ian Lynagh [Sun, 6 Jun 2010 16:17:26 +0000 (16:17 +0000)]
In ghc-pkg, send warnings to stderr
Ian Lynagh [Wed, 2 Jun 2010 18:07:37 +0000 (18:07 +0000)]
Re-add newlines to enable layout for multi-line input.
Patch from Adam Vogt <vogt.adam@gmail.com>
Partial fix for #3984
simonpj@microsoft.com [Fri, 4 Jun 2010 11:01:43 +0000 (11:01 +0000)]
Don't use unnecessary parens when printing types (Fix Trac 4107)
f :: Eq a => a -> a
rather than
f :: (Eq a) => a -> a
Roman Leshchinskiy [Fri, 4 Jun 2010 00:57:28 +0000 (00:57 +0000)]
Track DPH library changes
Simon Marlow [Thu, 3 Jun 2010 12:54:59 +0000 (12:54 +0000)]
fix --source-entity option passed to Haddock: we needed to escape a #
Simon Marlow [Wed, 2 Jun 2010 09:14:19 +0000 (09:14 +0000)]
__stg_EAGER_BLACKHOLE_INFO -> __stg_EAGER_BLACKHOLE_info (#4106)
Simon Marlow [Wed, 2 Jun 2010 09:01:01 +0000 (09:01 +0000)]
Add xhtml package (a new dependency of Haddock; not installed/shipped)
Simon Marlow [Wed, 2 Jun 2010 08:23:45 +0000 (08:23 +0000)]
Use UserInterrupt rather than our own Interrupted exception (#4100)
Simon Marlow [Wed, 2 Jun 2010 08:22:33 +0000 (08:22 +0000)]
Add the global package DB to ghc --info (#4103)
Marco Túlio Gontijo e Silva [Fri, 28 May 2010 11:56:12 +0000 (11:56 +0000)]
rts/sm/GC.c: resize_generations(): Remove unneeded check of number of generations.
This "if" is inside another "if" which checks for RtsFlags.GcFlags.generations
> 1, so testing this again is redundant, assuming the number of generations
won't change during program execution.
Marco Túlio Gontijo e Silva [Wed, 26 May 2010 20:58:39 +0000 (20:58 +0000)]
rts/sm/BlockAlloc.c: Small comment correction.
Marco Túlio Gontijo e Silva [Wed, 26 May 2010 20:57:07 +0000 (20:57 +0000)]
rts/sm/GC.c: Annotate constants.
Marco Túlio Gontijo e Silva [Wed, 26 May 2010 20:46:15 +0000 (20:46 +0000)]
includes/rts/storage/GC.h: generation_: n_words: Improve comment.
Ian Lynagh [Tue, 1 Jun 2010 20:42:11 +0000 (20:42 +0000)]
Add PPC_RELOC_LOCAL_SECTDIFF support; patch from PHO in #3654
Ian Lynagh [Tue, 1 Jun 2010 17:33:25 +0000 (17:33 +0000)]
powerpc-apple-darwin now supports shared libs
pho@cielonegro.org [Sat, 8 May 2010 14:39:00 +0000 (14:39 +0000)]
PIC support for PowerPC
PPC.CodeGen.getRegister was not properly handling PicBaseReg.
It seems working with this patch, but I'm not sure this change is correct.
Roman Leshchinskiy [Tue, 1 Jun 2010 04:56:30 +0000 (04:56 +0000)]
Vectoriser: only treat a function as scalar if it actually computes something
Ian Lynagh [Sun, 30 May 2010 17:11:17 +0000 (17:11 +0000)]
Add a release notes file for 6.14.1
Ian Lynagh [Sun, 30 May 2010 17:10:43 +0000 (17:10 +0000)]
Check dblatex actually creates the files we tell it to
If it fails, it still exits successfully.
Ian Lynagh [Sat, 29 May 2010 14:50:16 +0000 (14:50 +0000)]
Add darwin to the list of OSes for which we use mmap
Patch from Barney Stratford
Ian Lynagh [Sat, 29 May 2010 14:49:29 +0000 (14:49 +0000)]
Simplify the CPP logic in rts/Linker.c
Ian Lynagh [Sat, 29 May 2010 15:47:26 +0000 (15:47 +0000)]
Fix validate on OS X
Ian Lynagh [Sat, 29 May 2010 12:24:40 +0000 (12:24 +0000)]
OS X x86_64 fix from Barney Stratford
Ian Lynagh [Fri, 28 May 2010 23:49:35 +0000 (23:49 +0000)]
OS X 64 installer fixes from Barney Stratford
Simon Marlow [Tue, 25 May 2010 15:58:12 +0000 (15:58 +0000)]
fix warning
Simon Marlow [Tue, 25 May 2010 15:57:28 +0000 (15:57 +0000)]
Fix doc bugs (#4071)
Simon Marlow [Tue, 25 May 2010 15:04:35 +0000 (15:04 +0000)]
Make sparks into weak pointers (#2185)
The new strategies library (parallel-2.0+, preferably 2.2+) is now
required for parallel programming, otherwise parallelism will be lost.
Simon Marlow [Tue, 25 May 2010 08:53:01 +0000 (08:53 +0000)]
If you say 'make' or 'make stage=2' here, pretend we're in the ghc dir
Simon Marlow [Tue, 25 May 2010 15:43:13 +0000 (15:43 +0000)]
Another attempt to get these #defines right
Apparently on Solaris it is an error to omit _ISOC99_SOURCE when using
_POSIX_C_SOURCE==200112L.
Ian Lynagh [Tue, 25 May 2010 22:16:16 +0000 (22:16 +0000)]
Add configure flags for the location of GMP includes/library; fixes #4022
simonpj@microsoft.com [Tue, 25 May 2010 15:31:26 +0000 (15:31 +0000)]
Refactor pretty printing of TyThings to fix Trac #4015
Ian Lynagh [Tue, 25 May 2010 14:58:30 +0000 (14:58 +0000)]
When haddocking, we need the dependencies to have been built
as haddock loads the .hi files with the GHC API.
Ian Lynagh [Tue, 25 May 2010 11:12:17 +0000 (11:12 +0000)]
Fix profiling output; spotted by jlouis
We were outputing the number of words allocated in a column titled "bytes".
simonpj@microsoft.com [Tue, 25 May 2010 11:40:45 +0000 (11:40 +0000)]
Improve printing of TyThings; fixes Trac #4087
simonpj@microsoft.com [Tue, 25 May 2010 11:40:01 +0000 (11:40 +0000)]
Spelling in comments
simonpj@microsoft.com [Tue, 25 May 2010 11:39:10 +0000 (11:39 +0000)]
Refactor (again) the handling of default methods
This patch fixes Trac #4056, by
a) tidying up the treatment of default method names
b) removing the 'module' argument to newTopSrcBinder
The details aren't that interesting, but the result
is much tidier. The original bug was a 'nameModule' panic,
caused by trying to find the module of a top-level name.
But TH quotes generate Internal top-level names that don't
have a module, and that is generally a good thing.
Fixing that in turn led to the default-method refactoring,
which also makes the Name for a default method be handled
in the same way as other derived names, generated in BuildTyCl
via a call newImplicitBinder. Hurrah.
simonpj@microsoft.com [Tue, 25 May 2010 11:28:07 +0000 (11:28 +0000)]
Don't do SpecConstr on NOINLINE things (Trac #4064)
Since the RULE from specialising gets the same Activation as
the inlining for the Id itself there's no point in specialising
a NOINLINE thing, because the rule will be permanently switched
off.
See Note [Transfer activation] in SpecConstr
and Note [Auto-specialisation and RULES] in Specialise.
Simon Marlow [Mon, 24 May 2010 10:58:28 +0000 (10:58 +0000)]
Change our #defines to work on FreeBSD too
With glibc, things like _POSIX_C_SOURCE and _ISOC99_SOURCE are
additive, but on FreeBSD they are mutually exclusive. However, it
turns out we only need to define _POSIX_C_SOURCE and _XOPEN_SOURCE to
get all the C99 stuff we need too, so there's no need for any #ifdefs.
Submitted by: Gabor PALI <pgj@FreeBSD.org>
Simon Marlow [Mon, 24 May 2010 10:55:47 +0000 (10:55 +0000)]
Add a missing UNTAG_CLOSURE, causing bus errors on Sparc
We just about got away with this on x86 which isn't
alignment-sensitive. The result of the memory load is compared
against a few different values, but there is a fallback case that
happened to be the right thing when the pointer was tagged. A good
bug to find, nonetheless.
Simon Marlow [Thu, 20 May 2010 09:59:53 +0000 (09:59 +0000)]
Add wiki links
Simon Marlow [Thu, 20 May 2010 10:44:55 +0000 (10:44 +0000)]
the 'stage=0' trick to disable all compiler builds stopped working; fix it
benl@ouroborus.net [Mon, 24 May 2010 01:40:21 +0000 (01:40 +0000)]
Comments and formatting only
Ian Lynagh [Sat, 22 May 2010 22:50:48 +0000 (22:50 +0000)]
Core prettyprinter fixes. Patch from Tim Chevalier. Fixes #4085
pho@cielonegro.org [Sat, 8 May 2010 15:11:55 +0000 (15:11 +0000)]
Correct install-name for dynamic Darwin rts
Ian Lynagh [Sat, 22 May 2010 16:31:27 +0000 (16:31 +0000)]
Fix the RTS debug_p build