Pepe Iborra [Thu, 9 Aug 2007 20:11:21 +0000 (20:11 +0000)]
:step does not delete the :history anymore, and now it logs like :trace
Pepe Iborra [Thu, 9 Aug 2007 16:09:33 +0000 (16:09 +0000)]
Functor instance for the GHCi monad
Ian Lynagh [Wed, 15 Aug 2007 13:02:42 +0000 (13:02 +0000)]
Fix building GHC with profiling
Ian Lynagh [Wed, 15 Aug 2007 11:14:32 +0000 (11:14 +0000)]
Fix the build when GMP_INCLUDE_DIRS == ""
gwright@antiope.com [Mon, 13 Aug 2007 12:42:11 +0000 (12:42 +0000)]
Fix build with external gmp library.
ghc fails to build if you use an external gmp library. This is because
ghc requires the header file gmp.h, which used to be provided by the
internal gmp source code. The file gmp.h is no longer part of the
gmp source code, but is generated as part of the build procedure.
If an external gmp is specified, the internal gmp is not build and the
gmp.h file never gets generated.
Of course, it was a bad idea anyway to use a header file from a potentially
different version of the library.
The patch sets HAVE_LIB_GMP if the gmp library is found during configuration
and conditionalizes including the library header file on it.
Ian Lynagh [Tue, 14 Aug 2007 14:30:32 +0000 (14:30 +0000)]
Update config.sub and config.guess
Roman Leshchinskiy [Wed, 15 Aug 2007 03:06:05 +0000 (03:06 +0000)]
Use lookupOrig to find built-in NDP-related names
Roman Leshchinskiy [Tue, 7 Aug 2007 04:39:07 +0000 (04:39 +0000)]
Implicitly import NDP stuff when vectorising
We add the following declaration to all vectorised modules:
import qualified <NDP interface module> as :NDP
This allows us to refer to NDP stuff by RdrName later on but does not expose
NDP names to the user's code.
Bertram Felgenhauer [Sun, 12 Aug 2007 13:22:01 +0000 (13:22 +0000)]
fix typo in ghci.xml
Ian Lynagh [Sun, 12 Aug 2007 16:36:45 +0000 (16:36 +0000)]
Add bytestring to core-packages
Ian Lynagh [Sun, 12 Aug 2007 12:48:11 +0000 (12:48 +0000)]
Fix installation (we need to use the right ghc-pkg)
Ian Lynagh [Sun, 12 Aug 2007 12:27:34 +0000 (12:27 +0000)]
Get closer to GhcCompilerWays=p working
We also now have GhcThreaded rather than GhcNotThreaded.
Ian Lynagh [Sat, 11 Aug 2007 00:34:24 +0000 (00:34 +0000)]
Add a type sig
Ian Lynagh [Wed, 1 Aug 2007 23:53:18 +0000 (23:53 +0000)]
Split off packedstring and array packages
Ian Lynagh [Wed, 1 Aug 2007 22:39:45 +0000 (22:39 +0000)]
Add a containers package
Ian Lynagh [Sun, 29 Jul 2007 21:51:41 +0000 (21:51 +0000)]
Tweak package build order
Ian Lynagh [Sun, 29 Jul 2007 11:53:47 +0000 (11:53 +0000)]
bytestring is now in its own package
Isaac Dupree [Tue, 7 Aug 2007 00:12:48 +0000 (00:12 +0000)]
more cmpFS refactoring
Isaac Dupree [Mon, 6 Aug 2007 23:52:43 +0000 (23:52 +0000)]
use 'compare' when using the law of trichotomy
Isaac Dupree [Mon, 6 Aug 2007 23:44:28 +0000 (23:44 +0000)]
use {-# UNPACK #-} !Int rather than explicit Int# (#1405)
Ian Lynagh [Fri, 10 Aug 2007 11:57:44 +0000 (11:57 +0000)]
Remove a duplicate case
Ian Lynagh [Fri, 10 Aug 2007 22:37:28 +0000 (22:37 +0000)]
Change standalone deriving syntax and semantics; fixes trac #1481
You now say
deriving instance Cxt => Head
Clemens Fruhwirth [Fri, 10 Aug 2007 15:10:45 +0000 (15:10 +0000)]
Properly guard imports because they have to be precise on Windows and Darwin sets __PIC__ automatically
Clemens Fruhwirth [Mon, 6 Aug 2007 08:49:38 +0000 (08:49 +0000)]
Add explicit imports for RTS-external variables
simonpj@microsoft.com [Fri, 10 Aug 2007 08:33:12 +0000 (08:33 +0000)]
Improve error message (part of Trac #1606)
simonpj@microsoft.com [Thu, 9 Aug 2007 22:33:29 +0000 (22:33 +0000)]
Print fewer parens when pretty-printing HsSyn
simonpj@microsoft.com [Thu, 9 Aug 2007 22:32:28 +0000 (22:32 +0000)]
Print more "..." in long lists of declarations
Clemens Fruhwirth [Wed, 8 Aug 2007 06:50:43 +0000 (06:50 +0000)]
Build RTS as dynamic library
Clemens Fruhwirth [Mon, 6 Aug 2007 08:44:49 +0000 (08:44 +0000)]
Introduce new class for external symbols in Linker.c that use __imp__<sym> instead of &<sym>
Roman Leshchinskiy [Wed, 8 Aug 2007 06:56:21 +0000 (06:56 +0000)]
Make the new functions accessible from the vectorisation monad
Roman Leshchinskiy [Wed, 8 Aug 2007 06:55:59 +0000 (06:55 +0000)]
Add more NDP functions to PrelNames
Roman Leshchinskiy [Wed, 8 Aug 2007 06:48:34 +0000 (06:48 +0000)]
PA functions are no longer methods
Roman Leshchinskiy [Wed, 8 Aug 2007 05:04:33 +0000 (05:04 +0000)]
Vectorise Case on products
Roman Leshchinskiy [Wed, 8 Aug 2007 04:10:32 +0000 (04:10 +0000)]
Utility functions for accessing parallel array representations
Roman Leshchinskiy [Wed, 8 Aug 2007 02:02:57 +0000 (02:02 +0000)]
Fix bug in vectorised DataCon worker generation
Roman Leshchinskiy [Wed, 8 Aug 2007 01:49:16 +0000 (01:49 +0000)]
Use dataConTag in flattened array representation
Roman Leshchinskiy [Wed, 8 Aug 2007 01:48:59 +0000 (01:48 +0000)]
Add built-in PA dictionary for closures
Roman Leshchinskiy [Tue, 7 Aug 2007 06:21:01 +0000 (06:21 +0000)]
Modify PA dictionary generation to the new record-based scheme
Roman Leshchinskiy [Tue, 7 Aug 2007 06:05:53 +0000 (06:05 +0000)]
Change DataCon worker vectorisation to use PA records
Roman Leshchinskiy [Tue, 7 Aug 2007 06:05:24 +0000 (06:05 +0000)]
Add built-in PA dictionaries for boxed tuples
Roman Leshchinskiy [Tue, 7 Aug 2007 05:31:45 +0000 (05:31 +0000)]
Trace more vectorisation failures
Roman Leshchinskiy [Tue, 7 Aug 2007 05:24:29 +0000 (05:24 +0000)]
Move code
Roman Leshchinskiy [Tue, 7 Aug 2007 05:21:36 +0000 (05:21 +0000)]
Remove dead code
Roman Leshchinskiy [Tue, 7 Aug 2007 05:20:32 +0000 (05:20 +0000)]
Associate vectorised tycons with their PA dfuns
Roman Leshchinskiy [Tue, 7 Aug 2007 05:10:52 +0000 (05:10 +0000)]
PA is now an explicit record instead of a typeclass
Roman Leshchinskiy [Tue, 7 Aug 2007 04:39:07 +0000 (04:39 +0000)]
Implicitly import NDP stuff when vectorising
We add the following declaration to all vectorised modules:
import qualified <NDP interface module> as :NDP
This allows us to refer to NDP stuff by RdrName later on but does not expose
NDP names to the user's code.
Roman Leshchinskiy [Tue, 7 Aug 2007 02:31:54 +0000 (02:31 +0000)]
Support for using built-in PA dictionaries for some types
Roman Leshchinskiy [Tue, 7 Aug 2007 02:28:18 +0000 (02:28 +0000)]
Utility functions for accessing the RdrEnv during vectorisation
Roman Leshchinskiy [Tue, 7 Aug 2007 02:27:18 +0000 (02:27 +0000)]
Add RdrEnv to vectorisation state
Roman Leshchinskiy [Fri, 3 Aug 2007 03:02:37 +0000 (03:02 +0000)]
Add utility functions for accessing PA info during vectorisation
Roman Leshchinskiy [Fri, 3 Aug 2007 03:00:31 +0000 (03:00 +0000)]
Make sure PA dfuns are keyed on the vectorised tycon in VectInfo
Roman Leshchinskiy [Fri, 3 Aug 2007 02:50:14 +0000 (02:50 +0000)]
Add PA dfuns to VectMonad state
simonpj@microsoft.com [Thu, 9 Aug 2007 16:47:46 +0000 (16:47 +0000)]
Fix grouping by module in the mi_exports, for indexed data type families
This is a little tricky. See Note [Original module] in MkIface.
simonpj@microsoft.com [Thu, 9 Aug 2007 15:37:55 +0000 (15:37 +0000)]
Trim imports
simonpj@microsoft.com [Thu, 9 Aug 2007 15:37:37 +0000 (15:37 +0000)]
Rename a constructor CmmForeignCall to CmmCallee, and tidy Cmm code
This patch should have no effect; it's mainly comments, layout,
plus this contructor name change.
simonpj@microsoft.com [Thu, 9 Aug 2007 15:34:37 +0000 (15:34 +0000)]
Tidy up the treatment of newtypes, refactor, and fix Trac #736
I've forgotten the precise details already, but this patch
significantly refactors the way newtypes are handled, fixes
the foreign-export problem Trac #736 (which concerned newtypes),
and gets rid of a bogus unsafeCoerce in the foreign export
desugaring.
simonpj@microsoft.com [Thu, 9 Aug 2007 15:18:39 +0000 (15:18 +0000)]
Improvd documentation for overlapping instances
simonpj@microsoft.com [Thu, 9 Aug 2007 15:14:57 +0000 (15:14 +0000)]
Better scoring for loop breakers; fixes simplifier loop in nofib/minimax
See Note [Inline candidates] in OccurAnal. We were getting a recursive
loop exposed, which led to infinite inlinings. Doesn't bite much, but
was obviously wrong.
I've change the "scoring order" for loop breakers, which could possibly
have a performance impact on other programs. A full nofib run exposed
a 0.00% change in allocation in any nofib program, so I don't think it's
likely, but keep an eye out.
simonpj@microsoft.com [Fri, 3 Aug 2007 09:31:07 +0000 (09:31 +0000)]
Remove dead code
Simon Marlow [Thu, 9 Aug 2007 10:01:39 +0000 (10:01 +0000)]
Cabal depends on -package unix when GHC <= 6.2
Clemens Fruhwirth [Sat, 14 Jul 2007 08:32:41 +0000 (08:32 +0000)]
joinToTargets to emit fixup code even when movement graph contains cycles
First, cycles can only start of with registers and their destination
must involve a register location. This is because memory locations are
allocated exclusively for a virtual register and hence can never cause
a conflict in the assignment, hence need no fixup code. Therefore, we
only have to deal with InReg -> InReg, or InReg -> InReg/InMem
movements.
The strategy is to take the first cycle element, which is guaranteed
to start with a register, spill it to a fresh memory location, compute
the fixup for the rest, and restore from the spill slot to its
destinations. The "rest" will degenerate into an acyclic scc, so we do
not need take care of the empty list case in CyclicScc.
***END OF DESCRIPTION***
Place the long patch description above the ***END OF DESCRIPTION*** marker.
The first line of this file will be the patch name.
This patch contains the following changes:
M ./compiler/nativeGen/RegisterAlloc.hs -6 +27
simonpj@microsoft.com [Sun, 5 Aug 2007 22:03:35 +0000 (22:03 +0000)]
Make SpecConstr specialise for constant arguments again
Consider
lvl = Just True
foo :: Maybe Bool -> Int -> Int
foo (Just True) i = i
foo _ i = foo lvl i
SpecConstr should specialise foo, but it wasn't doing so (spotted
by Roman).
Reason: lvl's unfolding wasn't in the cloned version of lvl.
Solution: extend the value environment to record top-level bindings too
At the same time I made it work if 'lvl' is a lambda, in which case it
is again worth specialisg. This meant renaming ConEnv to ValueEnv,
and adding a case for 'LambdaVal'.
(To make specialisation on lambdas work properly, we have to do lambda
lifting as well, but this gets part of the way, and fixes a bug too.)
simonpj@microsoft.com [Sun, 5 Aug 2007 21:44:04 +0000 (21:44 +0000)]
Comments only: explain why StgConApp is still useful
simonpj@microsoft.com [Sat, 4 Aug 2007 17:47:59 +0000 (17:47 +0000)]
Add missing case to sizeofPrimRep
simonpj@microsoft.com [Sat, 4 Aug 2007 17:44:20 +0000 (17:44 +0000)]
Fix Trac #1037
It makes *sense* for a foreign import to have a zero-sized return, thus
foreign import ccall foo :: Int -> State# RealWorld
but it's not clear that it's useful, and it requires some back-end (a
Hint for void types) to make it go right through. It's not clear that
we really want this facility, so rather than fixing the code
generator, I'm just making the construct illegal for now.
simonpj@microsoft.com [Sat, 4 Aug 2007 17:35:39 +0000 (17:35 +0000)]
In GHCi, filter instances by what is in scope, not just by what is in scope unqualified
Trac #1581 was doing too much filtering; it even filtered out intances
defined in this very module! The new rule shows more instances, but
hopefully not to many.
Furthermore I have moved the filtering out of TcRnDriver (where it does
not belong) to InteractiveEval. And I've added a note to the documentation.
simonpj@microsoft.com [Sat, 4 Aug 2007 17:21:51 +0000 (17:21 +0000)]
Improve pretty-printing of 'foreign' declarations
Simon Marlow [Thu, 9 Aug 2007 08:58:17 +0000 (08:58 +0000)]
FIX read030 (error message wibble)
Ian Lynagh [Wed, 8 Aug 2007 23:16:20 +0000 (23:16 +0000)]
Fix the use of emptyCopyFlags
Magnus Jonsson [Wed, 8 Aug 2007 22:10:29 +0000 (22:10 +0000)]
Removed a dependency on Cabal that caused a build failure when Cabal changed
Ian Lynagh [Tue, 7 Aug 2007 19:31:39 +0000 (19:31 +0000)]
Add blurb in the user guide re stdout buffering differing between GHC and GHCi
Duncan Coutts [Mon, 6 Aug 2007 15:28:24 +0000 (15:28 +0000)]
Use emptyRegisterFlags and emptyCopyFlags for reduced fragility
So we will inherit default values for any new flags that get added,
so things should not break if new flags are added.
Isaac Dupree [Tue, 7 Aug 2007 12:22:34 +0000 (12:22 +0000)]
remove gratuitous usage of Double in favor of Rational
Isaac Dupree [Tue, 7 Aug 2007 12:14:54 +0000 (12:14 +0000)]
Warning police: eliminate all defaulting within stage1
Defaulting makes compilation of multiple modules more complicated (re: #1405)
Although it was all locally within functions, not because of the module
monomorphism-restriction... but it's better to be clear what's meant, anyway.
I changed some that were defaulting to Integer, to explicit Int, where Int
seemed appropriate rather than Integer.
Isaac Dupree [Tue, 7 Aug 2007 00:28:59 +0000 (00:28 +0000)]
NOINLINE the global FastString.string_table
Isaac Dupree [Mon, 6 Aug 2007 21:19:14 +0000 (21:19 +0000)]
comment FastMutInt possibilities
Ian Lynagh [Sun, 5 Aug 2007 17:51:16 +0000 (17:51 +0000)]
Follow Cabal changes
Ian Lynagh [Sun, 5 Aug 2007 15:33:41 +0000 (15:33 +0000)]
Add a --supported-languages flag
Print the list of strings that are accepted in a LANGUAGE pragma,
or as a -XFoo flag. (No can be prepended to any of the strings).
Ian Lynagh [Sun, 5 Aug 2007 15:03:02 +0000 (15:03 +0000)]
Whitespace
Ian Lynagh [Sun, 5 Aug 2007 13:28:56 +0000 (13:28 +0000)]
Add Distribution.System to compat
Ian Lynagh [Sat, 4 Aug 2007 21:14:15 +0000 (21:14 +0000)]
Canonicalise flags in error message
Ian Lynagh [Sat, 4 Aug 2007 21:01:45 +0000 (21:01 +0000)]
Canonicalise the flag format in the user guide
Ian Lynagh [Sat, 4 Aug 2007 19:24:31 +0000 (19:24 +0000)]
We now need to pass a version to extensionsToGHCFlag
Ian Lynagh [Sat, 4 Aug 2007 16:49:30 +0000 (16:49 +0000)]
Fix -fallow* flags
Ian Lynagh [Sat, 4 Aug 2007 16:22:41 +0000 (16:22 +0000)]
Add more of Cabal to compat
Ian Lynagh [Sat, 4 Aug 2007 15:54:25 +0000 (15:54 +0000)]
Rename Opt_Allow* to Opt_* to match the language names
Ian Lynagh [Sat, 4 Aug 2007 15:48:05 +0000 (15:48 +0000)]
Rename Opt_TH to Opt_TemplateHaskell to match the language name
Ian Lynagh [Sat, 4 Aug 2007 15:45:05 +0000 (15:45 +0000)]
Add -fparr deprecated flag, and change -XParr to -XPArr
-fparr did exist before, it just wasn't documented.
Ian Lynagh [Sat, 4 Aug 2007 15:42:34 +0000 (15:42 +0000)]
Rename Opt_FFI to Opt_ForeignFunctionInterface to match the language name
Ian Lynagh [Sat, 4 Aug 2007 15:34:12 +0000 (15:34 +0000)]
Remove many of the new flag variants permitted
Now we only allow -XFooBar syntax, not alternate case, hyphens or -f.
There are some deprecated -f flags accordingly.
Ian Lynagh [Sat, 4 Aug 2007 15:33:33 +0000 (15:33 +0000)]
Add a comment about when maybePrefixMatch can be removed
Ian Lynagh [Sat, 4 Aug 2007 02:01:56 +0000 (02:01 +0000)]
Typo in a comment
Ian Lynagh [Fri, 3 Aug 2007 18:38:35 +0000 (18:38 +0000)]
Update the boring file
Ian Lynagh [Fri, 3 Aug 2007 18:32:29 +0000 (18:32 +0000)]
Catch exceptions on Windows, to stop it popping up dialog boxes
Adaptated from code from Sigbjorn Finne
Simon Marlow [Fri, 3 Aug 2007 10:21:43 +0000 (10:21 +0000)]
FIX -ddump-cmm by temporarily disabling the gc_target part (#1582)
Simon Marlow [Fri, 3 Aug 2007 09:32:29 +0000 (09:32 +0000)]
mkLiveness: when calculating the size of a parameter, round up not down.
Fixes read002 on x86_64 (and maybe others). The stg_ap_f_info info
table had the wrong liveness on it, because the float had been treated
as having zero size.
Roman Leshchinskiy [Fri, 3 Aug 2007 02:09:36 +0000 (02:09 +0000)]
Add PA dfuns to VectInfo
Ian Lynagh [Thu, 2 Aug 2007 21:33:00 +0000 (21:33 +0000)]
Add a --ignore-failure flag to push-all script
simonpj@microsoft.com [Thu, 2 Aug 2007 16:51:10 +0000 (16:51 +0000)]
Dump renamer output with -ddump-rn for command-line entry in ghci
simonpj@microsoft.com [Thu, 2 Aug 2007 11:12:04 +0000 (11:12 +0000)]
Fix Trac #1525
A Name used to have a Parent, but no longer has. When we want to
print info about data type T and data constructor MkT, the info about
T already describes MkT so we want to discard the latter. Now that
Names don't have a Parent, we must do that in a different way,
using implicitTyThings
Test is ghci011