ghc.git
8 years agoMerge branch 'master' into type-nats
Iavor S. Diatchki [Mon, 20 Jun 2011 17:31:59 +0000 (10:31 -0700)] 
Merge branch 'master' into type-nats

Conflicts:
compiler/main/DynFlags.hs
compiler/parser/Lexer.x

8 years agoFix ghc-pkg's quoting of the pkgroot field
Ian Lynagh [Sun, 19 Jun 2011 15:45:17 +0000 (16:45 +0100)] 
Fix ghc-pkg's quoting of the pkgroot field

8 years agoUpdate time 1.2.0.4 -> 1.2.0.5
Ian Lynagh [Fri, 17 Jun 2011 21:26:27 +0000 (22:26 +0100)] 
Update time 1.2.0.4 -> 1.2.0.5

8 years agoMerge branch 'master' into type-nats
Iavor S. Diatchki [Sun, 19 Jun 2011 05:44:04 +0000 (22:44 -0700)] 
Merge branch 'master' into type-nats

8 years agoSpecial case 'patError' in the vectoriser
Manuel M T Chakravarty [Sun, 19 Jun 2011 01:45:31 +0000 (11:45 +1000)] 
Special case 'patError' in the vectoriser

8 years ago(partial) Merge branch 'master' into type-nats
Iavor S. Diatchki [Sun, 19 Jun 2011 00:25:31 +0000 (17:25 -0700)] 
(partial) Merge branch 'master' into type-nats

Conflicts:
compiler/coreSyn/CoreLint.lhs
compiler/coreSyn/ExternalCore.lhs
compiler/deSugar/DsBinds.lhs
compiler/hsSyn/HsTypes.lhs
compiler/iface/BinIface.hs
compiler/iface/IfaceSyn.lhs
compiler/iface/IfaceType.lhs
compiler/iface/TcIface.lhs
compiler/parser/Parser.y.pp
compiler/parser/RdrHsSyn.lhs
compiler/prelude/PrelNames.lhs
compiler/rename/RnHsSyn.lhs
compiler/rename/RnTypes.lhs
compiler/typecheck/TcHsType.lhs
compiler/typecheck/TcInteract.lhs
compiler/typecheck/TcSMonad.lhs
compiler/typecheck/TcTyClsDecls.lhs
compiler/typecheck/TcTyDecls.lhs
compiler/typecheck/TcType.lhs
compiler/typecheck/TcUnify.lhs
compiler/types/Coercion.lhs
compiler/types/OptCoercion.lhs
compiler/types/Type.lhs
compiler/types/TypeRep.lhs

8 years agoSafeHaskell: Fix some mistakes in trust checking.
David Terei [Sat, 18 Jun 2011 01:16:48 +0000 (18:16 -0700)] 
SafeHaskell: Fix some mistakes in trust checking.

8 years agoSafeHaskell: code wibble.
David Terei [Fri, 17 Jun 2011 06:41:20 +0000 (23:41 -0700)] 
SafeHaskell: code wibble.

8 years agoSafeHaskell: Improvements to user guide
David Terei [Wed, 15 Jun 2011 02:44:39 +0000 (19:44 -0700)] 
SafeHaskell: Improvements to user guide

8 years agoSafeHaskell: Make base GHC.* modules untrusted
David Terei [Tue, 14 Jun 2011 21:04:11 +0000 (14:04 -0700)] 
SafeHaskell: Make base GHC.* modules untrusted

8 years agoSafeHaskell: More work on documentation.
David Terei [Tue, 14 Jun 2011 01:26:18 +0000 (18:26 -0700)] 
SafeHaskell: More work on documentation.

8 years agoSafeHaskell: Transitively check safety when compiling a module.
David Terei [Sun, 12 Jun 2011 03:20:32 +0000 (20:20 -0700)] 
SafeHaskell: Transitively check safety when compiling a module.

While we previously checked the safety of safe imported modules we
didn't do this check transitively. This can be a problem when we depend
on a trustworthy module in a package that is no longer trusted, so we
should fail compilation. We already stored in an interface file the
transitive list of packages a module depends on. Now we extend that list
to include a flag saying if we depend on that package being trusted as
well.

8 years agoSafeHaskell: Improve safe import fail error message
David Terei [Fri, 10 Jun 2011 08:24:46 +0000 (01:24 -0700)] 
SafeHaskell: Improve safe import fail error message

8 years agoCode wibble
David Terei [Fri, 10 Jun 2011 08:03:17 +0000 (01:03 -0700)] 
Code wibble

8 years agoSafeHaskell: Restore comment although we don't know what it means.
David Terei [Fri, 10 Jun 2011 00:43:36 +0000 (17:43 -0700)] 
SafeHaskell: Restore comment although we don't know what it means.

Comment was removed as I thought it was incorrect now with code
changes but Simon M thinks my interpretation of the comment
was incorrect. He isn't sure what the comment is refereeing to
either though! So have restored comment and created trac #5249
to track fixing this at some point.

8 years agoSafeHaskell: No longer restrict some safe compilation things
David Terei [Fri, 10 Jun 2011 00:35:38 +0000 (17:35 -0700)] 
SafeHaskell: No longer restrict some safe compilation things

8 years agoSafeHaskell: Initial work on documentation
David Terei [Thu, 9 Jun 2011 22:45:02 +0000 (15:45 -0700)] 
SafeHaskell: Initial work on documentation

8 years agoSafeHaskell: Fix validation errors
David Terei [Wed, 8 Jun 2011 08:56:05 +0000 (01:56 -0700)] 
SafeHaskell: Fix validation errors

8 years agoSafeHaskell: Fix imports of base when base unsafe
David Terei [Wed, 8 Jun 2011 06:58:41 +0000 (23:58 -0700)] 
SafeHaskell: Fix imports of base when base unsafe

8 years agoSafeHaskell: Improve error handling for -XSafe... flags
David Terei [Tue, 7 Jun 2011 02:48:14 +0000 (19:48 -0700)] 
SafeHaskell: Improve error handling for -XSafe... flags

8 years agoSafeHaskell: Change SafeHaskellMode to use Outputable vs Show
David Terei [Tue, 7 Jun 2011 02:45:36 +0000 (19:45 -0700)] 
SafeHaskell: Change SafeHaskellMode to use Outputable vs Show

8 years agoSafeHaskell: Fix typo in warning
David Terei [Tue, 7 Jun 2011 01:23:48 +0000 (18:23 -0700)] 
SafeHaskell: Fix typo in warning

8 years agoSafeHaskell: Fix validation errors when unsafe base used
David Terei [Mon, 6 Jun 2011 20:45:46 +0000 (13:45 -0700)] 
SafeHaskell: Fix validation errors when unsafe base used

8 years agoSafeHaskell: Fix compilation errors.
David Terei [Thu, 2 Jun 2011 23:56:30 +0000 (16:56 -0700)] 
SafeHaskell: Fix compilation errors.

8 years agoSafeHaskell: Update for recent changes to TcDeriv
David Terei [Thu, 2 Jun 2011 02:27:24 +0000 (19:27 -0700)] 
SafeHaskell: Update for recent changes to TcDeriv

8 years agoSafeHaskell: Fix validation errors when Safe base used.
David Terei [Thu, 2 Jun 2011 01:04:27 +0000 (18:04 -0700)] 
SafeHaskell: Fix validation errors when Safe base used.

8 years agoSafeHaskell: Fix bug with overlapping instances reporting wrong error
David Terei [Thu, 2 Jun 2011 01:03:57 +0000 (18:03 -0700)] 
SafeHaskell: Fix bug with overlapping instances reporting wrong error

8 years agoSafeHaskell: Require implicit imports to be safe
David Terei [Tue, 31 May 2011 21:19:36 +0000 (14:19 -0700)] 
SafeHaskell: Require implicit imports to be safe

8 years agoSafeHaskell: Even more fixing to work with safe base
David Terei [Tue, 31 May 2011 20:44:04 +0000 (13:44 -0700)] 
SafeHaskell: Even more fixing to work with safe base

8 years agoSafeHaskell: Move safe haskell flag into Overlap flag
David Terei [Tue, 24 May 2011 00:31:10 +0000 (17:31 -0700)] 
SafeHaskell: Move safe haskell flag into Overlap flag

For instance decls we no longer store the SafeHaskell mode
in this data structure but instead store it as a bool field
in the overlap flag structure.

8 years agoSafeHaskell: Remove dead alternate flag check method
David Terei [Mon, 23 May 2011 21:23:33 +0000 (14:23 -0700)] 
SafeHaskell: Remove dead alternate flag check method

8 years agoSafeHaskell: Remove some flags from being restricted on CmdLine
David Terei [Mon, 23 May 2011 21:20:31 +0000 (14:20 -0700)] 
SafeHaskell: Remove some flags from being restricted on CmdLine

This was done as we originally planned for SafeHaskell to provide
some compilation safety. We have dropped this though and instead
intend for a new static flag, '--safecompile' that provides
this instead in an orthogonal way to SafeHaskell.

8 years agoSafeHaskell: More fixing to work with safe base
David Terei [Sat, 21 May 2011 22:36:22 +0000 (15:36 -0700)] 
SafeHaskell: More fixing to work with safe base

8 years agoSafeHaskell: Update to work with safe base
David Terei [Thu, 19 May 2011 07:57:12 +0000 (00:57 -0700)] 
SafeHaskell: Update to work with safe base

8 years agoSafeHaskell: Add ':issafe' cmd to GHCi that displays module safety info
David Terei [Tue, 17 May 2011 08:19:23 +0000 (01:19 -0700)] 
SafeHaskell: Add ':issafe' cmd to GHCi that displays module safety info

8 years agoSafeHaskell: Fix a warning stopping validation
David Terei [Tue, 10 May 2011 23:36:44 +0000 (16:36 -0700)] 
SafeHaskell: Fix a warning stopping validation

8 years agoSafeHaskell: Allow some flags that were cmdline only before by mistake
David Terei [Tue, 10 May 2011 23:36:18 +0000 (16:36 -0700)] 
SafeHaskell: Allow some flags that were cmdline only before by mistake

8 years agoSafeHaskell: Add new package flags for setting trust
David Terei [Tue, 10 May 2011 19:20:42 +0000 (12:20 -0700)] 
SafeHaskell: Add new package flags for setting trust

Now ghc supports:
  - trust => Set a package to be trusted
  - distrust => Set a package to be untrusted
  - distrust-all-package => Set all packages to be untrusted by default

8 years agoSafeHaskell: Fix recompilation avoidance to take Safe into account.
David Terei [Thu, 5 May 2011 23:13:21 +0000 (16:13 -0700)] 
SafeHaskell: Fix recompilation avoidance to take Safe into account.

8 years agoSafeHaskell: Restrict OverlappingInstances.
David Terei [Sat, 30 Apr 2011 02:16:31 +0000 (19:16 -0700)] 
SafeHaskell: Restrict OverlappingInstances.

OverlappingInstances in Safe modules can only overlap instances
defined in the same module.

8 years agoSafeHaskell: Disable user written rewrite rules in Safe mode
David Terei [Mon, 25 Apr 2011 22:58:10 +0000 (15:58 -0700)] 
SafeHaskell: Disable user written rewrite rules in Safe mode

8 years agoSafeHaskell: Fix problem with forced recompilation and disable TH
David Terei [Mon, 25 Apr 2011 22:57:17 +0000 (15:57 -0700)] 
SafeHaskell: Fix problem with forced recompilation and disable TH

Problem with -fforce-recomp not picking up changed Safe flags correctly
fixed. Also now disable Template Haskell completely.

8 years agoSafeHaskell: Force all FFI imports to be in IO
David Terei [Tue, 26 Apr 2011 00:27:33 +0000 (17:27 -0700)] 
SafeHaskell: Force all FFI imports to be in IO

8 years agoSafeHaskell: Disable certain ghc extensions in Safe.
David Terei [Mon, 25 Apr 2011 20:05:47 +0000 (13:05 -0700)] 
SafeHaskell: Disable certain ghc extensions in Safe.

This patch disables the use of some GHC extensions in
Safe mode and also the use of certain flags. Some
are disabled completely while others are only allowed
on the command line and not in source PRAGMAS.

We also check that Safe imports are indeed importing
a Safe or Trustworthy module.

8 years agoSafeHaskell: Force all imports to be safe in Safe mode
David Terei [Mon, 25 Apr 2011 19:18:00 +0000 (12:18 -0700)] 
SafeHaskell: Force all imports to be safe in Safe mode

8 years agoSafeHaskell: Add safe import flag (not functional)
David Terei [Mon, 25 Apr 2011 19:14:21 +0000 (12:14 -0700)] 
SafeHaskell: Add safe import flag (not functional)

8 years agoSafeHaskell: Add Safe & Trustworthy pragmas
David Terei [Mon, 25 Apr 2011 19:12:56 +0000 (12:12 -0700)] 
SafeHaskell: Add Safe & Trustworthy pragmas

8 years agoSafeHaskell: Add trust flag to packages
David Terei [Mon, 25 Apr 2011 19:09:12 +0000 (12:09 -0700)] 
SafeHaskell: Add trust flag to packages

8 years agocodeGen: Make emitCopyByteArray less pessimistic
Johan Tibell [Fri, 17 Jun 2011 09:13:37 +0000 (11:13 +0200)] 
codeGen: Make emitCopyByteArray less pessimistic

Assigning the arguments to temporaries was only needed in the case of
emitCopyArray, where the arguments are alive across the call.  That is
not the case in emitCopyByteArray.

Signed-off-by: David Terei <davidterei@gmail.com>
8 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Ian Lynagh [Fri, 17 Jun 2011 19:35:09 +0000 (20:35 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

8 years agoFix build
Ian Lynagh [Fri, 17 Jun 2011 18:37:56 +0000 (19:37 +0100)] 
Fix build

I'm not sure what's going on with these warnings, but for now
I've suppressed them all.

8 years agoMerge branch 'master' of dippy:c:/msys/1.0/home/ian/ghc/.
Ian Lynagh [Fri, 17 Jun 2011 18:12:06 +0000 (19:12 +0100)] 
Merge branch 'master' of dippy:c:/msys/1.0/home/ian/ghc/.

8 years agoSkip constant folding in nativegen if new codegen used.
Edward Z. Yang [Fri, 17 Jun 2011 18:01:36 +0000 (19:01 +0100)] 
Skip constant folding in nativegen if new codegen used.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
8 years agoFix the build with GHC 6.12
Ian Lynagh [Fri, 17 Jun 2011 17:47:08 +0000 (18:47 +0100)] 
Fix the build with GHC 6.12

8 years agoComplain if the old haddock or binary repos are in the tree
Ian Lynagh [Fri, 17 Jun 2011 17:27:59 +0000 (18:27 +0100)] 
Complain if the old haddock or binary repos are in the tree

Also, change the haddock repo URL to point at the new repo.

NOTE: After pulling, you need to
    rm -r libraries/binary
    rm -r utils/haddock
    ./sync-all get

8 years agoRemove most of the CPP from compiler/nativeGen/X86/CodeGen.hs
Ian Lynagh [Fri, 17 Jun 2011 17:27:33 +0000 (18:27 +0100)] 
Remove most of the CPP from compiler/nativeGen/X86/CodeGen.hs

8 years agoPort MachOp folding to new code generator.
Edward Z. Yang [Fri, 17 Jun 2011 17:27:25 +0000 (18:27 +0100)] 
Port MachOp folding to new code generator.

    * Rewrote cmmMachOpFold to cmmMachOpFoldM, which returns
      Nothing if no folding took place.
    * Wrote some generic mapping functions which take functions
      of form 'a -> Maybe a' and are smart about sharing.
    * Split up optimizations from PIC and PPC work in the native
      codegen, so they'll be easier to turn off later
      (they are not currently being turned off, however.)
    * Whitespace fixes!

ToDo: Turn off MachOp folding when new codegenerator is being used.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
8 years agoRefactor CmmLive and CmmSpillReload.
Edward Z. Yang [Fri, 17 Jun 2011 13:06:43 +0000 (14:06 +0100)] 
Refactor CmmLive and CmmSpillReload.

    * Move dead assignment elimination to CmmLive
    * Kill off dead code in CmmSpillReload related
      to non-splitting procpoints case
    * Refactor dual liveness transfer function to
      more closely mimic CmmLive's liveness transfer.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
8 years agoWhitespace only in compiler/nativeGen/X86/CodeGen.hs
Ian Lynagh [Fri, 17 Jun 2011 12:37:05 +0000 (13:37 +0100)] 
Whitespace only in compiler/nativeGen/X86/CodeGen.hs

8 years agoTrack changes in the DPH package and GHC.PArr.
Manuel M T Chakravarty [Fri, 17 Jun 2011 07:22:10 +0000 (17:22 +1000)] 
Track changes in the DPH package and GHC.PArr.

8 years agoRefactoring CmmSpillReload and CmmLive.
Edward Z. Yang [Thu, 16 Jun 2011 17:28:49 +0000 (18:28 +0100)] 
Refactoring CmmSpillReload and CmmLive.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
8 years agoPort "Add byte array copy primops" to the new code gen
Johan Tibell [Thu, 16 Jun 2011 05:50:10 +0000 (07:50 +0200)] 
Port "Add byte array copy primops" to the new code gen

Signed-off-by: David Terei <davidterei@gmail.com>
8 years agoAdd byte array copy primops
Johan Tibell [Mon, 23 May 2011 22:08:11 +0000 (00:08 +0200)] 
Add byte array copy primops

Signed-off-by: David Terei <davidterei@gmail.com>
8 years agoWibble on panic message
David Terei [Fri, 17 Jun 2011 04:04:48 +0000 (21:04 -0700)] 
Wibble on panic message

8 years agoFIX BUILD on PPC. Define default genCCall with correct number of args.
Erik de Castro Lopo [Fri, 17 Jun 2011 00:41:39 +0000 (10:41 +1000)] 
FIX BUILD on PPC. Define default genCCall with correct number of args.

8 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
David Waern [Fri, 17 Jun 2011 01:38:18 +0000 (01:38 +0000)] 
Merge branch 'master' of darcs.haskell.org/ghc

8 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Thu, 16 Jun 2011 18:14:35 +0000 (19:14 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

8 years agoAdd dynamically-linked plugins (see Trac #3843)
Simon Peyton Jones [Thu, 16 Jun 2011 16:22:47 +0000 (17:22 +0100)] 
Add dynamically-linked plugins (see Trac #3843)

This patch was originally developed by Max Bolingbroke, and worked on
further by Austin Seipp.  It allows you to write a Core-to-Core pass
and have it dynamically linked into an otherwise-unmodified GHC, and
run at a place you specify in the Core optimisation pipeline.

Main components:
  - CoreMonad: new types Plugin, PluginPass
               plus a new constructor CoreDoPluginPass in CoreToDo

  - SimplCore: stuff to dynamically load any plugins, splice
    them into the core-to-core pipeline, and invoke them

  - Move "getCoreToDo :: DynFlags -> [CoreToDo]"
      which constructs the main core-to-core pipeline
      from CoreMonad to SimplCore
    SimplCore is the driver for the optimisation pipeline, and it
    makes more sense to have the pipeline construction in the driver
    not in the infrastructure module.

  - New module DynamicLoading: invoked by SimplCore to load any plugins
    Some consequential changes in Linker.

  - New module GhcPlugins: this should be imported by plugin modules; it
    it not used by GHC itself.

8 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Thu, 16 Jun 2011 13:23:54 +0000 (14:23 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

8 years agoRe-do (again) the handling of binders in Template Haskell
Simon Peyton Jones [Thu, 16 Jun 2011 13:23:08 +0000 (14:23 +0100)] 
Re-do (again) the handling of binders in Template Haskell

See the long Note [Binders in Template Haskell] in Convert.lhs
which explains it all.  This patch fixes Trac #5037.

The key change is that NameU binders (ones made up by newName in
Template Haskell, and by TH quotations) now make Exact RdrNames again,
rather than making RdrNames with heavily encoded OccNames like x[03cv].
(This encoding is what was making #5037 fail.)

8 years agoLayout only
Simon Peyton Jones [Thu, 16 Jun 2011 13:07:01 +0000 (14:07 +0100)] 
Layout only

8 years agohaddock the mtl package when validating
Ian Lynagh [Wed, 15 Jun 2011 23:48:49 +0000 (00:48 +0100)] 
haddock the mtl package when validating

This fixes the ghcpkg05 test failure.
(ghc-pkg check was complaining because the mtl docs didn't exist).

8 years agoDeprecate the DatatypeContexts extension
Ian Lynagh [Tue, 14 Jun 2011 21:11:01 +0000 (22:11 +0100)] 
Deprecate the DatatypeContexts extension

8 years agoEliminate hardcoded names of D.A.P
Manuel M T Chakravarty [Wed, 15 Jun 2011 12:07:20 +0000 (22:07 +1000)] 
Eliminate hardcoded names of D.A.P

8 years agoPort "6c7d2a9 Use the new memcpy/memmove/memset MachOps" to new codegen.
Edward Z. Yang [Wed, 15 Jun 2011 13:46:01 +0000 (14:46 +0100)] 
Port "6c7d2a9 Use the new memcpy/memmove/memset MachOps" to new codegen.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
8 years agoFix -Werror failure in native code gen
Johan Tibell [Wed, 15 Jun 2011 12:36:13 +0000 (14:36 +0200)] 
Fix -Werror failure in native code gen

8 years agoSubtle bug in canonicalization of givens
Dimitrios Vytiniotis [Tue, 14 Jun 2011 17:01:36 +0000 (18:01 +0100)] 
Subtle bug in canonicalization of givens
involving type synonyms. Test case is typecheck/should_compile/GivenTypeSynonym.hs

8 years agoMerge branch 'memcpy'
David Terei [Wed, 15 Jun 2011 01:17:23 +0000 (18:17 -0700)] 
Merge branch 'memcpy'

8 years agoAdd type signature to invalidateVolatile.
Edward Z. Yang [Tue, 14 Jun 2011 23:46:01 +0000 (00:46 +0100)] 
Add type signature to invalidateVolatile.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
8 years agoFix build for GHC earlier than 7.0.1.
Edward Z. Yang [Tue, 14 Jun 2011 23:40:36 +0000 (00:40 +0100)] 
Fix build for GHC earlier than 7.0.1.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
8 years agoUnroll memcpy in the X86 backend
Johan Tibell [Thu, 26 May 2011 20:42:04 +0000 (22:42 +0200)] 
Unroll memcpy in the X86 backend

Signed-off-by: David Terei <davidterei@gmail.com>
8 years agoUse the new memcpy/memmove/memset MachOps
Johan Tibell [Wed, 8 Jun 2011 12:25:16 +0000 (14:25 +0200)] 
Use the new memcpy/memmove/memset MachOps

Signed-off-by: David Terei <davidterei@gmail.com>
8 years agoImplement regslot inlining, document soundness concerns.
Edward Z. Yang [Tue, 14 Jun 2011 17:21:50 +0000 (18:21 +0100)] 
Implement regslot inlining, document soundness concerns.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
8 years agoSplit out assignment rewriting to own module.
Edward Z. Yang [Tue, 14 Jun 2011 12:59:21 +0000 (13:59 +0100)] 
Split out assignment rewriting to own module.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
8 years agoRename CmmCPS to CmmPipeline.
Edward Z. Yang [Tue, 14 Jun 2011 11:33:37 +0000 (12:33 +0100)] 
Rename CmmCPS to CmmPipeline.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
8 years agoMove control flow optimization to CmmCPS.
Edward Z. Yang [Tue, 14 Jun 2011 11:29:38 +0000 (12:29 +0100)] 
Move control flow optimization to CmmCPS.

Unfortunately, I couldn't remove all incidences of runCmmContFlowOpt
from HscMain; in particular, there is a Cmm conversion testing
facility which may run with only control flow optimizations, which
I preserved the semantics of.  Given the state of the current
codegen, this code might be moribund anyway.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
8 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
David Waern [Tue, 14 Jun 2011 00:21:44 +0000 (00:21 +0000)] 
Merge branch 'master' of darcs.haskell.org/ghc

8 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Mon, 13 Jun 2011 21:41:19 +0000 (22:41 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

8 years agoImprove the reporting of module cycles, to give a nice message like this
Simon Peyton Jones [Mon, 13 Jun 2011 21:35:23 +0000 (22:35 +0100)] 
Improve the reporting of module cycles, to give a nice message like this

  Module imports form a cycle:
    module `Foo4' imports `Foo'
            which imports `Foo2'
            which imports `Foo3'
            which imports `Foo4'

as requested by Bryan Richter

8 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
David Waern [Mon, 13 Jun 2011 20:51:52 +0000 (20:51 +0000)] 
Merge branch 'master' of darcs.haskell.org/ghc

8 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
David Waern [Mon, 13 Jun 2011 19:02:56 +0000 (19:02 +0000)] 
Merge branch 'master' of darcs.haskell.org/ghc

8 years agoRemove type synonyms for CmmFormals, CmmActuals (and hinted versions).
Edward Z. Yang [Mon, 13 Jun 2011 17:16:01 +0000 (18:16 +0100)] 
Remove type synonyms for CmmFormals, CmmActuals (and hinted versions).

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
8 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
David Waern [Mon, 13 Jun 2011 17:04:02 +0000 (17:04 +0000)] 
Merge branch 'master' of darcs.haskell.org/ghc

8 years agoBake in ByteOff to ParamLocation, and remove ArgumentFormat synonym.
Edward Z. Yang [Mon, 13 Jun 2011 16:29:58 +0000 (17:29 +0100)] 
Bake in ByteOff to ParamLocation, and remove ArgumentFormat synonym.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
8 years agoRemove unused assignArguments and argumentsSize.
Edward Z. Yang [Mon, 13 Jun 2011 16:17:10 +0000 (17:17 +0100)] 
Remove unused assignArguments and argumentsSize.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
8 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
David Waern [Mon, 13 Jun 2011 15:05:50 +0000 (15:05 +0000)] 
Merge branch 'master' of darcs.haskell.org/ghc

8 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Mon, 13 Jun 2011 14:08:15 +0000 (15:08 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

8 years agoComment only
Simon Peyton Jones [Mon, 13 Jun 2011 14:04:17 +0000 (15:04 +0100)] 
Comment only

8 years agoDon't allow specialisation of class methods (fixes Trac #5001)
Simon Peyton Jones [Mon, 13 Jun 2011 14:03:38 +0000 (15:03 +0100)] 
Don't allow specialisation of class methods (fixes Trac #5001)

It doesn't make sense to specialise class methods -- their
code is simply a record selector.  Moreover, such methods
don't (currently) have an inl_sat field in their InlinePragma
which made DsBinds.makeCoreArity bleat.

This patch just ignores such pragmas, with a warning.

8 years agoPort "Make array copy primops inline" and related patches to new codegen.
Edward Z. Yang [Fri, 10 Jun 2011 16:16:32 +0000 (17:16 +0100)] 
Port "Make array copy primops inline" and related patches to new codegen.

The following patches were ported:

    d0faaa6 Fix segfault in array copy primops on 32-bit
    18691d4 Make assignTemp_ less pessimistic
    9c23f06 Make array copy primops inline

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>