11 years agoMake mkPState and pragState take their arguments in the same order
Ian Lynagh [Tue, 6 Jul 2010 17:26:11 +0000 (17:26 +0000)]
Make mkPState and pragState take their arguments in the same order

11 years agoRemove an out-of-date comment
Ian Lynagh [Tue, 6 Jul 2010 17:22:17 +0000 (17:22 +0000)]
Remove an out-of-date comment

11 years agoLLVM: Stop llvm saving stg caller-save regs across C calls
David Terei [Mon, 5 Jul 2010 16:26:29 +0000 (16:26 +0000)]
LLVM: Stop llvm saving stg caller-save regs across C calls

This is already handled by the Cmm code generator so LLVM is simply
duplicating work. LLVM also doesn't know which ones are actually live
so saves them all which causes a fair performance overhead for C calls
on x64. We stop llvm saving them across the call by storing undef to
them just before the call.

11 years agoLLVM: Add in literal undefined value to binding
David Terei [Mon, 5 Jul 2010 16:15:44 +0000 (16:15 +0000)]
LLVM: Add in literal undefined value to binding

11 years agoLLVM: Add a literal NULL value to binding
David Terei [Mon, 5 Jul 2010 16:13:08 +0000 (16:13 +0000)]
LLVM: Add a literal NULL value to binding

Patch from Erik de Castro Lopo <>.

11 years agorefactor import declaration support (#2362)
Simon Marlow [Mon, 5 Jul 2010 10:45:57 +0000 (10:45 +0000)]
refactor import declaration support (#2362)

11 years agoDisable dynamic linking optimisations on OS X
Simon Marlow [Mon, 5 Jul 2010 10:30:14 +0000 (10:30 +0000)]
Disable dynamic linking optimisations on OS X
To improve performance of the RTS when dynamically linked on x86, I
previously disabled -fPIC for certain critical modules (the GC, and a
few others).  However, build reports suggest that the dynamic linker
on OS X doesn't like this, so I'm disabling this optimsation on that

11 years agotrac #2362 (full import syntax in ghci) [Fri, 25 Jun 2010 03:26:32 +0000 (03:26 +0000)]
trac #2362 (full import syntax in ghci)
'import' syntax is seperate from ':module' syntax

11 years agoSimplify ghc-pkg's Cabal dependencies
Ian Lynagh [Sun, 4 Jul 2010 18:41:55 +0000 (18:41 +0000)]
Simplify ghc-pkg's Cabal dependencies
We no longer support building with a compiler that doesn't come with
base 4.

11 years agoUse Cabal to configure the dist-install ghc-pkg; fixes trac #4156
Ian Lynagh [Sun, 4 Jul 2010 13:26:12 +0000 (13:26 +0000)]
Use Cabal to configure the dist-install ghc-pkg; fixes trac #4156

11 years agoRemove dead code (standalone deriving flag no longer used in parser)
Ian Lynagh [Thu, 1 Jul 2010 16:20:58 +0000 (16:20 +0000)]
Remove dead code (standalone deriving flag no longer used in parser)

11 years agoLLVM: Use the inbounds keyword for getelementptr instructions.
David Terei [Fri, 2 Jul 2010 16:05:11 +0000 (16:05 +0000)]
LLVM: Use the inbounds keyword for getelementptr instructions.

11 years agothreadPaused: fix pointer arithmetic
Simon Marlow [Thu, 1 Jul 2010 08:50:46 +0000 (08:50 +0000)]
threadPaused: fix pointer arithmetic
Noticed by Henrique Ferreiro <>, thanks!

11 years agoLLVM: Change more operations to use getelementptr
David Terei [Thu, 1 Jul 2010 16:18:56 +0000 (16:18 +0000)]
LLVM: Change more operations to use getelementptr

11 years agoAdd the haskell2010 package
Simon Marlow [Wed, 30 Jun 2010 12:55:32 +0000 (12:55 +0000)]
Add the haskell2010 package

11 years agoLLVM: Use getelementptr instruction for a lot of situations
David Terei [Wed, 30 Jun 2010 18:11:57 +0000 (18:11 +0000)]
LLVM: Use getelementptr instruction for a lot of situations

LLVM supports creating pointers in two ways, firstly through
pointer arithmetic (by casting between pointers and ints)
and secondly using the getelementptr instruction. The second way
is preferable as it gives LLVM more information to work with.

This patch changes a lot of pointer related code from the first
method to the getelementptr method.

11 years agoremove out of date comments; point to the wiki
Simon Marlow [Fri, 25 Jun 2010 10:03:13 +0000 (10:03 +0000)]
remove out of date comments; point to the wiki

11 years agoNCG: allocatableRegs is only giving us 8 SSE regs to allocate to [Tue, 29 Jun 2010 05:43:21 +0000 (05:43 +0000)]
NCG: allocatableRegs is only giving us 8 SSE regs to allocate to

11 years agoLLVM: Use intrinsic functions for pow, sqrt, sin, cos
David Terei [Mon, 28 Jun 2010 18:29:49 +0000 (18:29 +0000)]
LLVM: Use intrinsic functions for pow, sqrt, sin, cos

Instead of calling the C library for these Cmm functions
we use intrinsic functions provided by llvm. LLVM will
then either create a compile time constant if possible, or
use a cpu instruction or as a last resort call the C

11 years agoLLVM: Fix test '2047' under linux-x64
David Terei [Mon, 28 Jun 2010 16:52:56 +0000 (16:52 +0000)]
LLVM: Fix test '2047' under linux-x64

11 years agoLLVM: Fix test 'ffi005' under linux-x64
David Terei [Mon, 28 Jun 2010 15:53:55 +0000 (15:53 +0000)]
LLVM: Fix test 'ffi005' under linux-x64

11 years agoLLVM: Update to use new fp ops introduced in 2.7
David Terei [Mon, 28 Jun 2010 14:40:37 +0000 (14:40 +0000)]
LLVM: Update to use new fp ops introduced in 2.7

11 years agoAdd noalias and nocapture attributes to pointer stg registers
David Terei [Mon, 28 Jun 2010 11:51:20 +0000 (11:51 +0000)]
Add noalias and nocapture attributes to pointer stg registers

At the moment this gives a very slight performance boost of around 1 - 2%.
Future changes to the generated code though so that pointers are kept as
pointers more often instead of being cast to integer types straight away
should hopefully improve the benefit this brings.

11 years agoduring shutdown, only free the heap if we waited for foreign calls to exit
Simon Marlow [Mon, 28 Jun 2010 09:05:36 +0000 (09:05 +0000)]
during shutdown, only free the heap if we waited for foreign calls to exit

11 years agoFix typo in -ddump-pass's document.
shelarcy [Sun, 20 Jun 2010 07:07:59 +0000 (07:07 +0000)]
Fix typo in -ddump-pass's document.

11 years agoAdd #undefs for posix source symbols when including papi.h [Thu, 24 Jun 2010 16:35:14 +0000 (16:35 +0000)]
Add #undefs for posix source symbols when including papi.h

Validation fails when validating with PAPI support (i.e. GhcRtsWithPapi  = YES
in  The problem is that the posix symbols are defined by a header
included from papi.h. Compilation then fails because these symbols are
redefined in PosixSource.h.

This patch adds an undefine for the posix symbols after including papi.h and
before including PosixSource.h. The #undefines are localized to Papi.c since
that is the only case where they are getting defined twice.

11 years agoUse machdepCCOpts in runPhase_MoveBinary; fixes trac #3952
Ian Lynagh [Fri, 25 Jun 2010 22:09:53 +0000 (22:09 +0000)]
Use machdepCCOpts in runPhase_MoveBinary; fixes trac #3952

11 years agoLLVM: Fix bug with calling tail with empty list
David Terei [Fri, 25 Jun 2010 11:57:29 +0000 (11:57 +0000)]
LLVM: Fix bug with calling tail with empty list

11 years agoFix warnings [Thu, 24 Jun 2010 09:13:39 +0000 (09:13 +0000)]
Fix warnings

11 years agoNCG: Comments and formatting only [Thu, 24 Jun 2010 08:31:21 +0000 (08:31 +0000)]
NCG: Comments and formatting only

11 years agoNCG: Do the actual reversing of SCCs [Thu, 24 Jun 2010 08:27:17 +0000 (08:27 +0000)]
NCG: Do the actual reversing of SCCs

11 years agoNCG: Fix dumping of graphs in regalloc stats for graph allocator [Thu, 24 Jun 2010 08:26:25 +0000 (08:26 +0000)]
NCG: Fix dumping of graphs in regalloc stats for graph allocator

11 years agoNCG: Reverse SCCs after each round in the graph allocator [Thu, 24 Jun 2010 08:24:37 +0000 (08:24 +0000)]
NCG: Reverse SCCs after each round in the graph allocator

11 years agoNCG: Don't actually complain on unreachable code blocks [Thu, 24 Jun 2010 08:14:45 +0000 (08:14 +0000)]
NCG: Don't actually complain on unreachable code blocks

11 years agoNCG: Do explicit check for precondition of computeLiveness [Thu, 24 Jun 2010 08:07:47 +0000 (08:07 +0000)]
NCG: Do explicit check for precondition of computeLiveness

 computeLiveness requires the SCCs of blocks to be in reverse dependent
 order, and if they're not it was silently giving bad liveness info,
 yielding a bad allocation.

 Now it complains, loudly.

11 years agoNCG: Fix off-by-one error in realRegSqueeze [Wed, 23 Jun 2010 09:58:13 +0000 (09:58 +0000)]
NCG: Fix off-by-one error in realRegSqueeze

11 years agoNCG: Handle stripping of liveness info from procs with no blocks (like stg_split_marker) [Wed, 23 Jun 2010 09:12:09 +0000 (09:12 +0000)]
NCG: Handle stripping of liveness info from procs with no blocks (like stg_split_marker)

11 years agoNCG: Emit a warning on unreachable code block instead of panicing [Wed, 23 Jun 2010 08:50:02 +0000 (08:50 +0000)]
NCG: Emit a warning on unreachable code block instead of panicing

12 years agoNCG: Remember to keep the entry block first when erasing liveness info [Thu, 17 Sep 2009 10:44:29 +0000 (10:44 +0000)]
NCG: Remember to keep the entry block first when erasing liveness info

12 years agoNCG: Refactor representation of code with liveness info [Thu, 17 Sep 2009 09:07:30 +0000 (09:07 +0000)]
NCG: Refactor representation of code with liveness info

 * I've pushed the SPILL and RELOAD instrs down into the
   LiveInstr type to make them easier to work with.

 * When the graph allocator does a spill cycle it now just
   re-annotates the LiveCmmTops instead of converting them
   to NatCmmTops and back.

 * This saves working out the SCCS again, and avoids rewriting
   the SPILL and RELOAD meta instructions into real machine

12 years agoNCG: Add sanity checking to linear allocator [Thu, 17 Sep 2009 09:03:35 +0000 (09:03 +0000)]
NCG: Add sanity checking to linear allocator
If there are are unreachable basic blocks in the native code then the
linear allocator might loop. Detect this case and panic instead.

12 years agoNCG: Refactor LiveCmmTop to hold a list of SCCs instead of abusing ListGraph [Thu, 17 Sep 2009 06:03:32 +0000 (06:03 +0000)]
NCG: Refactor LiveCmmTop to hold a list of SCCs instead of abusing ListGraph

12 years agoNCG: Allow the liveness map in a LiveInfo to be Nothing [Thu, 17 Sep 2009 04:39:37 +0000 (04:39 +0000)]
NCG: Allow the liveness map in a LiveInfo to be Nothing

12 years agoNCG: Also show the result of applying coalesings with -ddump-asm-regalloc-stages [Thu, 17 Sep 2009 03:44:27 +0000 (03:44 +0000)]
NCG: Also show the result of applying coalesings with -ddump-asm-regalloc-stages

11 years agoFix panic when running "ghc -H"; trac #3364
Ian Lynagh [Thu, 24 Jun 2010 23:40:11 +0000 (23:40 +0000)]
Fix panic when running "ghc -H"; trac #3364
The problem is that showing SDoc's looks at the static flags global
variables, but those are panics while we are parsing the static flags.
We work around this by explicitly using a fixed prettyprinter style.

11 years agoAllow for stg registers to have pointer type in llvm BE.
David Terei [Mon, 21 Jun 2010 17:58:39 +0000 (17:58 +0000)]
Allow for stg registers to have pointer type in llvm BE.

Before all the stg registers were simply a bit type or
floating point type but now they can be declared to have
a pointer type to one of these. This will allow various
optimisations in the future in llvm since the type is
more accurate.

11 years agoAdd support for parameter attributes to the llvm BE binding
David Terei [Thu, 24 Jun 2010 11:17:44 +0000 (11:17 +0000)]
Add support for parameter attributes to the llvm BE binding

These allow annotations of the code produced by the backend
which should bring some perforamnce gains. At the moment
the attributes aren't being used though.

11 years agoCast some more nats to StgWord to be on the safe side
Simon Marlow [Thu, 24 Jun 2010 10:57:00 +0000 (10:57 +0000)]
Cast some more nats to StgWord to be on the safe side
And add a comment about the dangers of int overflow

11 years agocomments only
Simon Marlow [Thu, 24 Jun 2010 10:51:05 +0000 (10:51 +0000)]
comments only

11 years agoFix an arithmetic overflow bug causing crashes with multi-GB heaps
Simon Marlow [Thu, 24 Jun 2010 10:46:54 +0000 (10:46 +0000)]
Fix an arithmetic overflow bug causing crashes with multi-GB heaps

11 years agoAdd support for collecting PAPI native events [Tue, 22 Jun 2010 19:59:53 +0000 (19:59 +0000)]
Add support for collecting PAPI native events

This patch extends the PAPI support in the RTS to allow collection of native
events. PAPI can collect data for native events that are exposed by the
hardware beyond the PAPI present events. The native events supported on your
hardware can found by using the papi_native_avail tool.

The RTS already allows users to specify PAPI preset events from the command
line. This patch extends that support to allow users to specify native events.
The changes needed are:

1) New option (#) for the RTS PAPI flag for native events. For example, to
   collect the native event 0x40000000, use ./a.out +RTS -a#0x40000000 -sstderr

2) Update the PAPI_FLAGS struct to store whether the user specified event is a
   papi preset or a native event

3) Update init_countable_events function to add the native events after parsing
   the event code and decoding the name using PAPI_event_code_to_name

11 years agoDon't warn about unused bindings with parents in .hs-boot files; trac #3449
Ian Lynagh [Thu, 24 Jun 2010 11:03:51 +0000 (11:03 +0000)]
Don't warn about unused bindings with parents in .hs-boot files; trac #3449

11 years agofix the home_imps filter to allow for 'import "this" <module>'
Simon Marlow [Mon, 21 Jun 2010 12:55:35 +0000 (12:55 +0000)]
fix the home_imps filter to allow for 'import "this" <module>'
In the PackageImports extension, import "this" means "import from the
current package".

11 years agoUse the standard C wrapper code for the ghc-$version.exe wrapper
Ian Lynagh [Tue, 22 Jun 2010 20:28:59 +0000 (20:28 +0000)]
Use the standard C wrapper code for the ghc-$version.exe wrapper

11 years agoDon't rely on "-packagefoo" working; use "-package foo" instead
Ian Lynagh [Tue, 22 Jun 2010 20:25:47 +0000 (20:25 +0000)]
Don't rely on "-packagefoo" working; use "-package foo" instead

11 years agoRemove unnecessary C #includes
Ian Lynagh [Tue, 22 Jun 2010 17:29:19 +0000 (17:29 +0000)]
Remove unnecessary C #includes

11 years agoMake the ghci.exe wrapper call the right ghc.exe
Ian Lynagh [Tue, 22 Jun 2010 17:22:47 +0000 (17:22 +0000)]
Make the ghci.exe wrapper call the right ghc.exe

11 years agoMore updates to datalayout description in llvm BE
David Terei [Tue, 22 Jun 2010 16:53:39 +0000 (16:53 +0000)]
More updates to datalayout description in llvm BE

11 years agoRemove LlvmAs phase as the llvm opt tool now handles this phase
David Terei [Tue, 22 Jun 2010 14:40:44 +0000 (14:40 +0000)]
Remove LlvmAs phase as the llvm opt tool now handles this phase

This phase originally invoked the llvm-as tool that turns a textual
llvm assembly file into a bit code file for the rest of llvm to deal
with. Now the llvm opt tool can do this itself, so we don't need to
use llvm-as anymore.

11 years agoUpdate datalayout info in llvm BE
David Terei [Tue, 22 Jun 2010 12:34:57 +0000 (12:34 +0000)]
Update datalayout info in llvm BE

11 years agoFix handling of float literals in llvm BE
David Terei [Tue, 22 Jun 2010 12:16:42 +0000 (12:16 +0000)]
Fix handling of float literals in llvm BE

11 years agoDeclare some top level globals to be constant when appropriate
David Terei [Mon, 21 Jun 2010 17:49:54 +0000 (17:49 +0000)]
Declare some top level globals to be constant when appropriate

This involved removing the old constant handling mechanism
which was fairly hard to use. Now being constant or not is
simply a property of a global variable instead of a separate

11 years agoReduce the number of passes over the cmm in llvm BE
David Terei [Mon, 21 Jun 2010 12:52:20 +0000 (12:52 +0000)]
Reduce the number of passes over the cmm in llvm BE

11 years agoFix negate op not working for -0 in llvm backend
David Terei [Mon, 21 Jun 2010 12:36:06 +0000 (12:36 +0000)]
Fix negate op not working for -0 in llvm backend

11 years agoROLLBACK: picCCOpts: -dynamic should not entail -optc-fPIC
Simon Marlow [Mon, 21 Jun 2010 10:04:09 +0000 (10:04 +0000)]
ROLLBACK: picCCOpts: -dynamic should not entail -optc-fPIC
and add a comment to explain why it was wrong.  This fixes the dyn
test failures that sprang up recently.

11 years agoCheck files are really created in libffi
Ian Lynagh [Sun, 20 Jun 2010 16:37:24 +0000 (16:37 +0000)]
Check files are really created in libffi
when we think that the libffi build creates them, so they just depend
on the libffi build stamp.

11 years agoImprove the missing-import-list warning
Ian Lynagh [Sun, 20 Jun 2010 12:43:20 +0000 (12:43 +0000)]
Improve the missing-import-list warning

11 years agoTweak missing-import-list warning
Ian Lynagh [Sun, 20 Jun 2010 12:26:22 +0000 (12:26 +0000)]
Tweak missing-import-list warning

11 years agotrac #1789 (warnings for missing import lists) [Fri, 18 Jun 2010 15:06:49 +0000 (15:06 +0000)]
trac #1789 (warnings for missing import lists)

11 years agoRefix docs for sizeofByteArray#/sizeofMutableByteArray# (#3800)
Ian Lynagh [Sun, 20 Jun 2010 10:37:49 +0000 (10:37 +0000)]
Refix docs for sizeofByteArray#/sizeofMutableByteArray# (#3800)

11 years agoRemove some old commented out code
Ian Lynagh [Sun, 20 Jun 2010 00:04:59 +0000 (00:04 +0000)]
Remove some old commented out code

11 years agoSET_ARR_HDR's last argument is now a number of bytes, rather than words
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

11 years agoReplace an (incorrect) bytes-to-words calculation with ROUNDUP_BYTES_TO_WDS
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

12 years agoFIX #38000 Store StgArrWords payload size in bytes
Antoine Latter [Fri, 1 Jan 2010 18:33:46 +0000 (18:33 +0000)]
FIX #38000 Store StgArrWords payload size in bytes

11 years agoAdd win32 datalayout support to llvm backend
David Terei [Fri, 18 Jun 2010 13:17:33 +0000 (13:17 +0000)]
Add win32 datalayout support to llvm backend

11 years agoRemove unused 'ddump-opt-llvm' flag
David Terei [Fri, 18 Jun 2010 10:12:37 +0000 (10:12 +0000)]
Remove unused 'ddump-opt-llvm' flag

11 years agogenerate "movl lbl(%reg1), %reg2" instructions, better codegen for -fPIC
Simon Marlow [Fri, 18 Jun 2010 08:22:58 +0000 (08:22 +0000)]
generate "movl lbl(%reg1), %reg2" instructions, better codegen for -fPIC

11 years agojoinToTargets: fix a case of panic "handleComponent cyclic"
Simon Marlow [Fri, 18 Jun 2010 08:21:47 +0000 (08:21 +0000)]
joinToTargets: fix a case of panic "handleComponent cyclic"

11 years agocomment typo
Simon Marlow [Fri, 18 Jun 2010 08:21:02 +0000 (08:21 +0000)]
comment typo

11 years agoAdd support of TNTC to llvm backend
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.

11 years agoDon't automatically insert a -fvia-C flag in an unregisterised compiler
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.

11 years agoIn PosixSource.h, conditionally define things based on platform
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

11 years agodisable -fPIC for the GC for performance reasons
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

11 years agopicCCOpts: -dynamic should not entail -optc-fPIC
Simon Marlow [Thu, 17 Jun 2010 11:52:59 +0000 (11:52 +0000)]
picCCOpts: -dynamic should not entail -optc-fPIC

11 years agoMake getAllocations() visible
Simon Marlow [Thu, 17 Jun 2010 11:32:59 +0000 (11:32 +0000)]
Make getAllocations() visible

11 years agoFix the symbol visibility pragmas
Simon Marlow [Thu, 17 Jun 2010 10:57:58 +0000 (10:57 +0000)]
Fix the symbol visibility pragmas

11 years agopick up changes to $(GhcStage1HcOpts) without re-configuring the ghc package
Simon Marlow [Wed, 16 Jun 2010 12:47:18 +0000 (12:47 +0000)]
pick up changes to $(GhcStage1HcOpts) without re-configuring the ghc package

11 years agoFix bindisttest Makefile
Ian Lynagh [Wed, 16 Jun 2010 20:56:11 +0000 (20:56 +0000)]
Fix bindisttest Makefile

11 years agoRemove some more unused make variables
Ian Lynagh [Wed, 16 Jun 2010 18:05:19 +0000 (18:05 +0000)]
Remove some more unused make variables

11 years agoConvert some more variable names to FOO_CMD, for consistency
Ian Lynagh [Wed, 16 Jun 2010 17:59:16 +0000 (17:59 +0000)]
Convert some more variable names to FOO_CMD, for consistency

11 years agoRename some variables from FOO to FOO_CMD
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

11 years agoMake the "show" target work anywhere in the build tree
Ian Lynagh [Wed, 16 Jun 2010 12:29:10 +0000 (12:29 +0000)]
Make the "show" target work anywhere in the build tree

11 years agoChange ghc-pwd's license to a string Cabal recognises
Ian Lynagh [Tue, 15 Jun 2010 20:40:15 +0000 (20:40 +0000)]
Change ghc-pwd's license to a string Cabal recognises

11 years agofix warning
Simon Marlow [Fri, 4 Jun 2010 20:59:33 +0000 (20:59 +0000)]
fix warning

11 years ago--install-signal-handles=no does not affect the timer signal (#1908)
Simon Marlow [Thu, 27 May 2010 21:46:27 +0000 (21:46 +0000)]
--install-signal-handles=no does not affect the timer signal (#1908)

11 years agoSmall optimisation: allocate nursery blocks contiguously
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

11 years agofix -fforce-recomp setting: module is PrimOp, not PrimOps
Simon Marlow [Fri, 7 May 2010 08:45:07 +0000 (08:45 +0000)]
fix -fforce-recomp setting: module is PrimOp, not PrimOps

11 years agoit should be an error to use relative directories (#4134)
Simon Marlow [Tue, 15 Jun 2010 15:17:40 +0000 (15:17 +0000)]
it should be an error to use relative directories (#4134)

11 years agomissing include-dirs or library-dirs is only a warning now (#4104)
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)

11 years agofix #3822: desugaring case command in arrow notation
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.