andy@galois.com [Tue, 10 Jul 2007 07:17:13 +0000 (07:17 +0000)]
FIX rts build failure for powerPC build
The rts was failing with
../compiler/ghc-inplace -H64m -Onot -fasm -optc-O2 -static -I../gmp/gmpbuild -I. -#include HCIncludes.h -dcmm-lint -hisuf thr_p_hi -hcsuf thr_p_hc -osuf thr_p_o -optc-DTHREADED_RTS -prof -#include posix/Itimer.h -c PrimOps.cmm -o PrimOps.thr_p_o
ghc-6.7.
20070709: panic! (the 'impossible' happened)
(GHC version 6.7.
20070709 for powerpc-apple-darwin):
iselExpr64(powerpc) %MO_U_Conv_I32_I64(16 / 4 - 2)
There was a special case for x86; so it has been transliterated to the PPC, and the output code looks plausable.
Roman Leshchinskiy [Tue, 10 Jul 2007 06:06:23 +0000 (06:06 +0000)]
Add vectorisation modules to package ghc
Roman Leshchinskiy [Tue, 10 Jul 2007 06:05:28 +0000 (06:05 +0000)]
Put vectorisation monad into a separate file
Roman Leshchinskiy [Tue, 10 Jul 2007 04:25:02 +0000 (04:25 +0000)]
Vectorisation of type abstractions
Roman Leshchinskiy [Tue, 10 Jul 2007 04:23:19 +0000 (04:23 +0000)]
Utility functions for vectorisation
Simon Marlow [Mon, 9 Jul 2007 21:07:06 +0000 (21:07 +0000)]
Fix #1505; failure to catch syntax error in :break command
Simon Marlow [Sun, 8 Jul 2007 19:44:23 +0000 (19:44 +0000)]
Fix the +RTS -V0 option introduced recently; it didn't work at all, now it does.
Also, I documented it. +RTS -V0 disables the internal RTS timer
completely, which is useful for repeatable debugginng.
Simon Marlow [Sun, 8 Jul 2007 19:21:20 +0000 (19:21 +0000)]
FIX -fexcess-precision
Ugly hack; see comments for details
Ian Lynagh [Mon, 9 Jul 2007 15:33:50 +0000 (15:33 +0000)]
Remove unused binding
Ian Lynagh [Mon, 9 Jul 2007 15:31:37 +0000 (15:31 +0000)]
Add -XTypeOperators flag
Ian Lynagh [Mon, 9 Jul 2007 14:35:51 +0000 (14:35 +0000)]
Add -fprint-explicit-foralls flag; fixes trac #1474
Ian Lynagh [Mon, 9 Jul 2007 13:13:53 +0000 (13:13 +0000)]
Add -XFlexibleContexts flag
Ian Lynagh [Mon, 9 Jul 2007 12:44:36 +0000 (12:44 +0000)]
Add -XExistentialQuantification flag
Ian Lynagh [Mon, 9 Jul 2007 12:04:15 +0000 (12:04 +0000)]
Implement -XPolymorphicComponents
Ian Lynagh [Mon, 9 Jul 2007 11:25:05 +0000 (11:25 +0000)]
rename tv -> explicitForall
Ian Lynagh [Mon, 9 Jul 2007 09:34:15 +0000 (09:34 +0000)]
Implement -XUnicodeSyntax
Ian Lynagh [Sun, 8 Jul 2007 17:32:46 +0000 (17:32 +0000)]
libraries/hpc is boring (in the GHC repo)
Ian Lynagh [Sun, 8 Jul 2007 17:31:50 +0000 (17:31 +0000)]
Add flags for Rank2Types and RankNTypes
Ian Lynagh [Sun, 8 Jul 2007 16:50:45 +0000 (16:50 +0000)]
Make CPP a -X flag
Ian Lynagh [Sun, 8 Jul 2007 16:42:36 +0000 (16:42 +0000)]
Add PatternGuards flag
Ian Lynagh [Sun, 8 Jul 2007 16:25:07 +0000 (16:25 +0000)]
Add flags for TypeSynonymInstances and FlexibleInstances
Ian Lynagh [Sun, 8 Jul 2007 15:32:36 +0000 (15:32 +0000)]
Implement -XFunctionalDependencies
Ian Lynagh [Sun, 8 Jul 2007 15:06:31 +0000 (15:06 +0000)]
Implement -XRecursiveDo
Ian Lynagh [Sun, 8 Jul 2007 14:43:54 +0000 (14:43 +0000)]
Implement -XGeneralizedNewtypeDeriving
Ian Lynagh [Sun, 8 Jul 2007 13:42:52 +0000 (13:42 +0000)]
Add -XParallelListComp
Roman Leshchinskiy [Mon, 9 Jul 2007 06:37:53 +0000 (06:37 +0000)]
Vectorise lets
Roman Leshchinskiy [Mon, 9 Jul 2007 06:25:05 +0000 (06:25 +0000)]
Split vectorisation environment into a global and a local part
Roman Leshchinskiy [Mon, 9 Jul 2007 05:39:34 +0000 (05:39 +0000)]
First cut at vectorisation of expressions
Roman Leshchinskiy [Mon, 9 Jul 2007 05:39:18 +0000 (05:39 +0000)]
Construction of PA dictionaries for vectorisation
Roman Leshchinskiy [Mon, 9 Jul 2007 05:39:06 +0000 (05:39 +0000)]
Vectorisation-specific imports
Roman Leshchinskiy [Mon, 9 Jul 2007 05:38:19 +0000 (05:38 +0000)]
Utilities for handling closure types during vectorisation
Roman Leshchinskiy [Mon, 9 Jul 2007 05:37:40 +0000 (05:37 +0000)]
Add orElse combinator for vectorisation monad
Roman Leshchinskiy [Mon, 9 Jul 2007 05:37:09 +0000 (05:37 +0000)]
Extend vectorisation environment
Roman Leshchinskiy [Mon, 9 Jul 2007 04:22:51 +0000 (04:22 +0000)]
Allow variables to be mapped to arbitrary CoreExprs in vectorisation monad
Roman Leshchinskiy [Mon, 9 Jul 2007 04:04:06 +0000 (04:04 +0000)]
Add failure to vectorisation monad
andy@galois.com [Sun, 8 Jul 2007 07:43:29 +0000 (07:43 +0000)]
Fixing native code generator for PowerPC
Ian Lynagh [Sun, 8 Jul 2007 12:27:53 +0000 (12:27 +0000)]
Add -XMultiParamTypeClasses flag
Ian Lynagh [Sun, 8 Jul 2007 12:05:53 +0000 (12:05 +0000)]
Implement -XKindSignatures
Ian Lynagh [Sun, 8 Jul 2007 11:29:07 +0000 (11:29 +0000)]
Add -XEmptyDataDecls flag
Ian Lynagh [Sun, 8 Jul 2007 11:10:41 +0000 (11:10 +0000)]
Support the MagicHash extension as a flag and LANGUAGE pragma
Ian Lynagh [Sun, 8 Jul 2007 10:23:22 +0000 (10:23 +0000)]
Tidy up comments in DynFlags
Simon Marlow [Sat, 7 Jul 2007 19:21:02 +0000 (19:21 +0000)]
FIX #1472 (also #249, which was not completely fixed previously): -caf-all bugs
Simon Marlow [Sat, 7 Jul 2007 19:18:53 +0000 (19:18 +0000)]
allow build settings to be overriden by adding mk/validate.mk
Ian Lynagh [Fri, 6 Jul 2007 20:54:10 +0000 (20:54 +0000)]
Remove foldl' from Util; use the Data.List one instead
Simon Marlow [Fri, 6 Jul 2007 15:21:32 +0000 (15:21 +0000)]
undo: Get the path right for :list
This is breaking :list for someone. If there's a problem here, we
should fix it another way.
Simon Marlow [Thu, 5 Jul 2007 13:53:20 +0000 (13:53 +0000)]
-ddump-hi-diffs shouldn't imply -fforce-recomp, that defeats the purpose
Michael D. Adams [Thu, 5 Jul 2007 17:07:03 +0000 (17:07 +0000)]
Added comment to the Cmm parser showing code for use one CPS is enabled
Michael D. Adams [Thu, 5 Jul 2007 17:06:37 +0000 (17:06 +0000)]
Eliminated use of 'fromJust' from the CPS pass
Michael D. Adams [Thu, 5 Jul 2007 17:05:15 +0000 (17:05 +0000)]
Fixed a bug in the CPS pass
Michael D. Adams [Thu, 5 Jul 2007 14:50:31 +0000 (14:50 +0000)]
Updated the call to the CPS pass for the factoring out of cmmToRawCmm
That call was and is commented out, but it serves as documentation
for when the CPS pass will be turned on.
Michael D. Adams [Thu, 5 Jul 2007 14:48:20 +0000 (14:48 +0000)]
Added support for GC block declaration to the Cmm syntax
Michael D. Adams [Thu, 5 Jul 2007 09:47:02 +0000 (09:47 +0000)]
Ensure no statements after CmmReturn are emitted
Simon Marlow [Fri, 6 Jul 2007 07:59:31 +0000 (07:59 +0000)]
FIX BUILD (Windows)
Roman Leshchinskiy [Wed, 4 Jul 2007 05:56:52 +0000 (05:56 +0000)]
Vectorise unlifted and tuple tycons
Roman Leshchinskiy [Wed, 4 Jul 2007 05:52:39 +0000 (05:52 +0000)]
Vectorisation of types
Roman Leshchinskiy [Wed, 4 Jul 2007 05:15:12 +0000 (05:15 +0000)]
Add TyCons to vectorisation monad
Roman Leshchinskiy [Wed, 4 Jul 2007 04:54:45 +0000 (04:54 +0000)]
Vectorisation monad
Roman Leshchinskiy [Tue, 3 Jul 2007 06:37:38 +0000 (06:37 +0000)]
Add ndp docs
Roman Leshchinskiy [Fri, 29 Jun 2007 05:19:43 +0000 (05:19 +0000)]
Include vectorisation into the simplifier pipeline
Roman Leshchinskiy [Fri, 29 Jun 2007 05:13:16 +0000 (05:13 +0000)]
Add vectorise subdirectory and dummy module
Roman Leshchinskiy [Fri, 29 Jun 2007 04:32:46 +0000 (04:32 +0000)]
Add -fvectorise
Roman Leshchinskiy [Fri, 29 Jun 2007 04:16:05 +0000 (04:16 +0000)]
Add NDP-related PrelNames
Roman Leshchinskiy [Fri, 29 Jun 2007 01:54:56 +0000 (01:54 +0000)]
Make package ndp wired-in
Roman Leshchinskiy [Fri, 6 Jul 2007 04:56:49 +0000 (04:56 +0000)]
FIX BUILD (OS X): Include correct gmp.h if using GMP.framework
On OS X, we have to #include <GMP/gmp.h> if we are using GMP.framework. Before
the recent GMP changes, gcc (incorrectly) used the gmp.h supplied by ghc but
that is gone now.
Ian Lynagh [Thu, 5 Jul 2007 22:31:37 +0000 (22:31 +0000)]
hpc is now a corelib, so always build it
Ian Lynagh [Thu, 5 Jul 2007 21:52:40 +0000 (21:52 +0000)]
Update the in-tree GMP; fixes trac #832
gmp is now in a top-level directory and we only have the tarball in the
darcs repo. It gets untarred if it is needed.
Simon Marlow [Thu, 5 Jul 2007 19:46:47 +0000 (19:46 +0000)]
FIX BUILD (with GHC 6.2.x): System.Directory.Internals is no more
Update functions in Compat.Directory from originals in System.Directory
Michael D. Adams [Thu, 5 Jul 2007 14:29:36 +0000 (14:29 +0000)]
Warning Police
simonpj@microsoft.com [Thu, 5 Jul 2007 07:59:37 +0000 (07:59 +0000)]
Tidy up IsIrred (no need for argument any more)
simonpj@microsoft.com [Wed, 4 Jul 2007 22:22:21 +0000 (22:22 +0000)]
Fix Trace #1494
A tricky bug to do with the way the implication constraints are
solved in TcSimplify. See Note [Reducing implication constraints].
Ian Lynagh [Wed, 4 Jul 2007 14:08:55 +0000 (14:08 +0000)]
The standard SUBDIRS in the top level Makefile should include libraries
Ian Lynagh [Mon, 2 Jul 2007 12:26:51 +0000 (12:26 +0000)]
Remove mapAccumL, mapAccumR, mapAccumB
mapAccumL and mapAccumR are in Data.List now.
mapAccumB is unused.
Ian Lynagh [Mon, 2 Jul 2007 11:52:04 +0000 (11:52 +0000)]
Remove the unused "Eager monad"
Ian Lynagh [Mon, 2 Jul 2007 11:49:24 +0000 (11:49 +0000)]
Add a type signature
Ian Lynagh [Mon, 2 Jul 2007 11:48:12 +0000 (11:48 +0000)]
Remove unused functions (applyToPair, applyToFst, applyToSnd)
Ian Lynagh [Mon, 2 Jul 2007 11:47:09 +0000 (11:47 +0000)]
Remove unused cfst (== const)
Ian Lynagh [Mon, 2 Jul 2007 11:42:08 +0000 (11:42 +0000)]
Remove prefixMatch and suffixMatch from Util
Use standard isPrefixOf/isSuffixOf instead.
Simon Marlow [Wed, 4 Jul 2007 13:57:04 +0000 (13:57 +0000)]
Use $(HC), not $(GHC) to compile ghc-inplace
$(GHC) is always the installed compiler, $(HC) changes depending on
the stage. This has the nice effect that we build stage2/ghc-inplace
using the stage1 compiler, and get to take advantage of bugfixes in
stage1 relative to $(GHC) (in particular I want the non-blocking stdin
fix for stage2, otherwise piping the testsuite output through tee
fails).
Simon Marlow [Wed, 4 Jul 2007 12:36:06 +0000 (12:36 +0000)]
We don't need a SIGCONT handler any more
The SIGCONT handler was used to put stdin back in O_NONBLOCK mode,
after the process is resumed, but we don't want to do that now: the
standard handles are kept in blocking mode.
Simon Marlow [Wed, 4 Jul 2007 12:22:41 +0000 (12:22 +0000)]
Add first cut of the validate script
Michael D. Adams [Tue, 3 Jul 2007 21:44:13 +0000 (21:44 +0000)]
Added support for update frames to the CPS pass
(This required a bit of refactoring of CmmInfo.)
Michael D. Adams [Tue, 3 Jul 2007 21:25:55 +0000 (21:25 +0000)]
Fix error message in CPS pass
Michael D. Adams [Tue, 3 Jul 2007 21:17:34 +0000 (21:17 +0000)]
Factor cmmToRawCmm completely out of CPS
This patch also fixes how the CPS handles functions with an empty body.
Factoring cmmToRawCmm out of the CPS pass made that fix easier.
Michael D. Adams [Tue, 3 Jul 2007 09:47:35 +0000 (09:47 +0000)]
Remove dead code in the CPS pass
Michael D. Adams [Tue, 3 Jul 2007 09:36:25 +0000 (09:36 +0000)]
Minor formatting cleanup.
Michael D. Adams [Tue, 3 Jul 2007 09:34:44 +0000 (09:34 +0000)]
Moved 'continuationToProc' into a separate file, 'CmmCPSGen.hs'.
Michael D. Adams [Tue, 3 Jul 2007 09:13:20 +0000 (09:13 +0000)]
Finished support for foreign calls in the CPS pass
Michael D. Adams [Mon, 2 Jul 2007 08:42:21 +0000 (08:42 +0000)]
Multiple improvements to CPS algorithm.
These include:
- Stack size detection now includes function arguments.
- Stack size detection now avoids stack checks just because of
the GC block.
- A CmmCall followed by a CmmBranch will no longer generate an extra
continuation consisting just of the brach.
- Multiple CmmCall/CmmBranch pairs that all go to the same place
will try to use the same continuation. If they can't (because
the return value signature is different), adaptor block are built.
- Function entry statements are now in a separate block.
(Fixed bug with branches to the entry block having unintended effects.)
- Other changes that I can't recall right now.
Michael D. Adams [Thu, 28 Jun 2007 10:11:33 +0000 (10:11 +0000)]
Allow safety information on calls in Cmm files
Simon Marlow [Tue, 3 Jul 2007 20:52:34 +0000 (20:52 +0000)]
FIX BUILD (Windows): catch up with changes to .cmm syntax
simonpj@microsoft.com [Tue, 3 Jul 2007 16:28:14 +0000 (16:28 +0000)]
Improve formatting of errors, and fix a typo
Simon Marlow [Tue, 3 Jul 2007 14:05:06 +0000 (14:05 +0000)]
Fix for function info tables: the SRT field cannot be omitted if there are fields following it
Simon Marlow [Tue, 3 Jul 2007 14:03:04 +0000 (14:03 +0000)]
pprTypeInfo: print slow entry pt
Simon Marlow [Thu, 28 Jun 2007 12:45:44 +0000 (12:45 +0000)]
fix compilation for x86_64
Michael D. Adams [Thu, 28 Jun 2007 11:18:12 +0000 (11:18 +0000)]
Fix stack check amount for user declared continuation functions
Michael D. Adams [Thu, 28 Jun 2007 10:17:34 +0000 (10:17 +0000)]
Remove unused parameter in force_gc_block for CPS
Michael D. Adams [Thu, 28 Jun 2007 10:13:12 +0000 (10:13 +0000)]
Fix a bug in the Cmm parser where formal params didn't get bound
Michael D. Adams [Thu, 28 Jun 2007 10:10:06 +0000 (10:10 +0000)]
Make CPS account for on-stack arguments when doing the stack check
Michael D. Adams [Thu, 28 Jun 2007 08:25:43 +0000 (08:25 +0000)]
Comment and formatting updates for the CPS pass
Michael D. Adams [Wed, 27 Jun 2007 16:05:55 +0000 (16:05 +0000)]
Fix typo from amend-record