Roman Leshchinskiy [Mon, 16 Jul 2007 05:24:06 +0000 (05:24 +0000)]
Vectorise top-level bindings of a module
Roman Leshchinskiy [Mon, 16 Jul 2007 05:11:39 +0000 (05:11 +0000)]
Vectorisation of top-level bindings
Roman Leshchinskiy [Mon, 16 Jul 2007 05:00:19 +0000 (05:00 +0000)]
Store hoisted bindings in the global environment during vectorisation
Roman Leshchinskiy [Mon, 16 Jul 2007 04:48:26 +0000 (04:48 +0000)]
Add support for name cloning to vectorisation monad
Roman Leshchinskiy [Mon, 16 Jul 2007 04:48:01 +0000 (04:48 +0000)]
Refactoring
Roman Leshchinskiy [Mon, 16 Jul 2007 03:57:39 +0000 (03:57 +0000)]
Adapt interface file code for vectorisation
For the most part, this patch simply renames functions which had been used
for closure conversion and hence have CC in their name. It also changes the
OccNames generated by vectorisation.
Roman Leshchinskiy [Mon, 16 Jul 2007 02:11:51 +0000 (02:11 +0000)]
Collect hoisted vectorised functions
Roman Leshchinskiy [Fri, 13 Jul 2007 07:33:18 +0000 (07:33 +0000)]
First incomplete version of closure vectorisation
Roman Leshchinskiy [Fri, 13 Jul 2007 07:33:04 +0000 (07:33 +0000)]
Refactor slightly
Roman Leshchinskiy [Fri, 13 Jul 2007 07:32:27 +0000 (07:32 +0000)]
Add utility function for vectorisation
Roman Leshchinskiy [Fri, 13 Jul 2007 07:28:43 +0000 (07:28 +0000)]
Add closedV
Roman Leshchinskiy [Thu, 12 Jul 2007 04:54:34 +0000 (04:54 +0000)]
Export wrapFamInstBody and unwrapFamInstScrut
Roman Leshchinskiy [Wed, 11 Jul 2007 04:48:20 +0000 (04:48 +0000)]
Refactoring
Roman Leshchinskiy [Wed, 11 Jul 2007 03:58:39 +0000 (03:58 +0000)]
Add whitespace
Roman Leshchinskiy [Wed, 11 Jul 2007 03:56:16 +0000 (03:56 +0000)]
Only vectorise rank-1 expressions
Roman Leshchinskiy [Tue, 10 Jul 2007 14:09:34 +0000 (14:09 +0000)]
Move some vectorisation utility functions
Roman Leshchinskiy [Tue, 10 Jul 2007 14:02:21 +0000 (14:02 +0000)]
Modify PA dictionary computation to work with the class-based scheme
Roman Leshchinskiy [Tue, 10 Jul 2007 13:31:24 +0000 (13:31 +0000)]
Clean up handling of PA dictionaries
andy@galois.com [Sun, 15 Jul 2007 21:36:02 +0000 (21:36 +0000)]
FIX problem with not using the compat lib for Set in hpc tools.
Michael D. Adams [Sun, 15 Jul 2007 20:41:16 +0000 (20:41 +0000)]
Properly parse GC blocks for functions with info tables
Michael D. Adams [Sun, 15 Jul 2007 20:22:35 +0000 (20:22 +0000)]
Removed 'allow_header_set' argument from 'pack_continuation'.
Because branches might now go to continuations and become calls to
continuations, 'allow_header_set' isn't always correct.
Removing that parameter makes the conservative approximation.
A better approximation might save one memory store is some cases.
Michael D. Adams [Sun, 15 Jul 2007 20:20:33 +0000 (20:20 +0000)]
Fixed conditional branches to proc points
These could occur due to GC checks.
Michael D. Adams [Sun, 15 Jul 2007 20:17:17 +0000 (20:17 +0000)]
Removed unused variable from compiler/cmm/CmmCPS.hs
Michael D. Adams [Sun, 15 Jul 2007 20:16:38 +0000 (20:16 +0000)]
Removed unused import from compiler/cmm/CmmCPS.hs
Michael D. Adams [Sun, 15 Jul 2007 16:20:03 +0000 (16:20 +0000)]
Keep the CPS pass from creating proc points due to unreachable parents.
The parser/flattener will generate an extra block after an if/else
statement even if both branches exit the function. So it is possible
for the input to the CPS pass to have dead/unreachable blocks.
If a dead block goes to a live block then the live block would
have more parents than the dead block and prior to this patch
the live block would then be identified as a proc point.
This is fixed by adding a check to see if the parent
has at least one owner.
Michael D. Adams [Sun, 15 Jul 2007 01:11:41 +0000 (01:11 +0000)]
Fixed CPS to account for info tables not being next to code
Michael D. Adams [Sat, 14 Jul 2007 18:49:55 +0000 (18:49 +0000)]
Fix the CPS pass to pack the continuation with correct label form.
It was using the return point label before; now it uses the info label.
Ian Lynagh [Sat, 14 Jul 2007 22:39:40 +0000 (22:39 +0000)]
Fix for print022 (round up when dividing type size by word size)
From Pepe Iborra (mnislaih)
Ian Lynagh [Sat, 14 Jul 2007 16:13:12 +0000 (16:13 +0000)]
Fix putting hsicon.ico into the Windows installer; fixes #1515
It was done in a bit of the Makefile that was if'ed out for Windows.
Ian Lynagh [Sat, 14 Jul 2007 00:13:46 +0000 (00:13 +0000)]
Update the ghci "loading" section of the user guide
Ian Lynagh [Fri, 13 Jul 2007 22:30:17 +0000 (22:30 +0000)]
Don't show the ghci :? output in the user guide
The ghci command list is now much larger than it used to be, and it
tends to go out of sync with the docs anyway.
Ian Lynagh [Fri, 13 Jul 2007 22:26:56 +0000 (22:26 +0000)]
User guide tweaks
Ian Lynagh [Fri, 13 Jul 2007 22:12:58 +0000 (22:12 +0000)]
User guide tweaks
Ian Lynagh [Fri, 13 Jul 2007 22:06:28 +0000 (22:06 +0000)]
Tweak Windows installation instructions in the user guide
Ian Lynagh [Fri, 13 Jul 2007 21:40:04 +0000 (21:40 +0000)]
Update the contents of the library directy in the user guide
Ian Lynagh [Fri, 13 Jul 2007 21:00:49 +0000 (21:00 +0000)]
User guide tweaks
Ian Lynagh [Fri, 13 Jul 2007 20:04:42 +0000 (20:04 +0000)]
Don't talk about nfib from the user guide now that we no longer ship it
Ian Lynagh [Fri, 13 Jul 2007 19:53:41 +0000 (19:53 +0000)]
Remove "What bundles there are" now we only have the standard one
Ian Lynagh [Fri, 13 Jul 2007 19:44:24 +0000 (19:44 +0000)]
Update bundle installation instructions
Ian Lynagh [Thu, 12 Jul 2007 02:17:59 +0000 (02:17 +0000)]
In the users guide, talk about configure flags
(rather than talking about tweaking the Makefile(-vars) by hand)
Ian Lynagh [Thu, 12 Jul 2007 01:54:40 +0000 (01:54 +0000)]
Remove "install in-place" blurb from the docs as it no longer works
Ian Lynagh [Thu, 12 Jul 2007 01:53:40 +0000 (01:53 +0000)]
doc tweak
Ian Lynagh [Thu, 12 Jul 2007 01:52:16 +0000 (01:52 +0000)]
Remove outdated bundle-contents description
Ian Lynagh [Thu, 12 Jul 2007 01:12:54 +0000 (01:12 +0000)]
Merge *UnboxedTuples flags
Merge
ExpressionSignaturesUnboxedTuples
TypeSynonymUnboxedTuples
into
UnboxedTuples
Pepe Iborra [Sat, 14 Jul 2007 11:49:46 +0000 (11:49 +0000)]
Automatic RTTI for ghci bindings
With this patch, ghci runs rtti (bounded in the term treewith a max. depth of 10)
automatically after evaluating any expression in the interactive env.
In addition, a rtti step is performed on the local bindings in a breakpoint,
before returning control to the user
Let's see how well this works in practice
Pepe Iborra [Thu, 12 Jul 2007 17:43:23 +0000 (17:43 +0000)]
Teach :print to not panic when the DataCon for a closure is not exposed by the .hi file
Previously the behaviour was to panic.
Now it will print an approximated representation,
using the names (enclosed in keys, i.e. "<...>")
and the pointed subterms. Non pointed subterms cannot
be included in this representation:
Prelude> let se = Data.Sequence.fromList (map Just "abc")
Prelude> :eval se
()
Prelude> :p se
se = <Data.Sequence.Deep> (<Data.Sequence.One> (_t1::t)) () (<Data.Sequence.Two> (_t2::t) (_t3::t))
Prelude> :eval _t2
()
Prelude> :p se
se = <Data.Sequence.Deep> (<Data.Sequence.One> (_t4::t1)) () (<Data.Sequence.Two> (Just 'b') (_t5::t1))
Prelude>
This patch also includes some fixes in the pretty printer
for the Term datatype
Pepe Iborra [Thu, 12 Jul 2007 16:30:12 +0000 (16:30 +0000)]
Fix an array indexing bug in getClosureData (used by :print)
Pepe Iborra [Wed, 11 Jul 2007 23:45:14 +0000 (23:45 +0000)]
remove some leftovers of the first ghci debugger prototype
Pepe Iborra [Wed, 11 Jul 2007 10:17:49 +0000 (10:17 +0000)]
Fix imports & add missing type signatures
Pepe Iborra [Wed, 11 Jul 2007 09:54:21 +0000 (09:54 +0000)]
Ask for a HscEnv instead of a Session in InteractiveEval.obtainTerm
This does a better job of showing that obtainTerm does not alter the Session
Pepe Iborra [Wed, 11 Jul 2007 09:20:06 +0000 (09:20 +0000)]
Add a max depth bound to the bfs implementation in cvReconstructType,
to avoid looping when reconstructing insufficiently evaluated, circular structures
David Waern [Sat, 14 Jul 2007 12:47:43 +0000 (12:47 +0000)]
FIX panic from the GHC API
In hscFileCheck, initialize md_vect_info with noVectInfo instead of
a panic value, since this is a strict field.
Manuel M T Chakravarty [Fri, 13 Jul 2007 07:37:29 +0000 (07:37 +0000)]
init mg_inst_env when reading ext core
Michael D. Adams [Fri, 13 Jul 2007 20:40:28 +0000 (20:40 +0000)]
Warning Police: No newline at end of file
Michael D. Adams [Fri, 13 Jul 2007 20:19:13 +0000 (20:19 +0000)]
Warning Police: Unused imports
Michael D. Adams [Fri, 13 Jul 2007 18:21:17 +0000 (18:21 +0000)]
Added libraries/parallel to .darcs-boring
andy@galois.com [Thu, 12 Jul 2007 19:42:00 +0000 (19:42 +0000)]
Adding draft and show to hpc
we now have
hpc draft <TIX_FILE>
This drafts up a candidate overlay for 100% coverage.
and
hpc show <TIX_FILE>
This show verbose details about a tix file; mainly for debugging.
andy@galois.com [Thu, 12 Jul 2007 17:16:46 +0000 (17:16 +0000)]
Fixing Hpc SrcSpan usage; rejecting SrcSpans that are not in the source file
Now, if you #include a file, you do not get any hpc-info from the included file.
Previously, you got wrong information.
Thanks to Neil Mitchell for pointing out the problem.
audreyt@audreyt.org [Thu, 12 Jul 2007 05:43:51 +0000 (05:43 +0000)]
Revert the $* patch for earlier Perls as it breaks the build. Sorry. :/
audreyt@audreyt.org [Wed, 11 Jul 2007 21:04:49 +0000 (21:04 +0000)]
In mangler, lift the multiline-match pragma to toplevel and document it better.
audreyt@audreyt.org [Wed, 11 Jul 2007 18:24:30 +0000 (18:24 +0000)]
* Evil Mangler broke under Perl 5.9+ because $* is gone; this fixes it.
Perl 4's special variable $* controls multi-line matching; it's been
deprecated from Perl 5's inception, and is finally removed in Perl
versions 5.9 (soon to be 5.10).
Since GHC depends on Perl 5.6+ anyway, this patch introduces an
equivalent effect to $* without using that special variable, by
hooking into Perl's regex parsing process to add the /m flag.
David Waern [Wed, 11 Jul 2007 19:40:05 +0000 (19:40 +0000)]
Remove import
David Waern [Wed, 11 Jul 2007 19:35:04 +0000 (19:35 +0000)]
Remove comment
audreyt@audreyt.org [Wed, 11 Jul 2007 16:58:51 +0000 (16:58 +0000)]
* Future-proof autoconf's Perl version test.
GHC only works with Perl versions 5.6 and later; however
the current test greps in a rather non-future-proof way
(explicitly against 5.6 and 5.8).
We instead exploit the "v-string" change in 5.6, which
displays the version string as "v5.x.y", rather than
the earlier format "version 5.xxx_yyy". Hence grepping
against "v5" will make it future proof for a while.
(At least until Perl 6 is installed as the system perl.)
Ian Lynagh [Wed, 11 Jul 2007 12:37:55 +0000 (12:37 +0000)]
Tweak the start of the bin-dist docs in teh users guide
Ian Lynagh [Wed, 11 Jul 2007 00:00:02 +0000 (00:00 +0000)]
Remove reference to the now-dead fptools
Ian Lynagh [Tue, 10 Jul 2007 23:58:38 +0000 (23:58 +0000)]
Remove references to non-existent mailing lists
Ian Lynagh [Tue, 10 Jul 2007 23:51:56 +0000 (23:51 +0000)]
Remove the -bugs mailing list from the UG
We now have a separate bit on reporting bugs, via a different method, so
this section didn't really make sense any more.
Ian Lynagh [Tue, 10 Jul 2007 23:45:09 +0000 (23:45 +0000)]
Users guide: Update FAQ URL
Ian Lynagh [Tue, 10 Jul 2007 23:42:36 +0000 (23:42 +0000)]
Users guide: GHC no longer comes with so many libraries
Ian Lynagh [Tue, 10 Jul 2007 23:39:12 +0000 (23:39 +0000)]
Update copyright date in teh users guide
Ian Lynagh [Tue, 10 Jul 2007 23:33:08 +0000 (23:33 +0000)]
Alpha-rename a variable
Ian Lynagh [Tue, 10 Jul 2007 23:26:35 +0000 (23:26 +0000)]
Opt_GlasgowExts is no longer used, so remove it
Ian Lynagh [Tue, 10 Jul 2007 21:01:29 +0000 (21:01 +0000)]
Implement -XStandaloneDeriving, the lexer is now glaexts-free
Ian Lynagh [Tue, 10 Jul 2007 20:39:24 +0000 (20:39 +0000)]
'a'# syntax is enabled by the MagicHash extension
Ian Lynagh [Tue, 10 Jul 2007 20:36:06 +0000 (20:36 +0000)]
"Foo"# syntax is enabled by the MagicHash extension
Ian Lynagh [Tue, 10 Jul 2007 20:33:19 +0000 (20:33 +0000)]
5# syntax is enabled by the MagicHash extension
Ian Lynagh [Tue, 10 Jul 2007 20:21:29 +0000 (20:21 +0000)]
{| and |} are -fgenerics syntax
Ian Lynagh [Tue, 10 Jul 2007 20:21:09 +0000 (20:21 +0000)]
Rank 2 and rank n types enable explicit forall syntax
Ian Lynagh [Tue, 10 Jul 2007 18:06:29 +0000 (18:06 +0000)]
RULES pragmas only need explicitForallEnabled, no -fglasgow-exts
Ian Lynagh [Tue, 10 Jul 2007 18:01:30 +0000 (18:01 +0000)]
Implement -XDeriveDataTypeable flag
andy@galois.com [Wed, 11 Jul 2007 07:24:54 +0000 (07:24 +0000)]
Adding hpcError, that improves error messages with usage
andy@galois.com [Wed, 11 Jul 2007 07:23:49 +0000 (07:23 +0000)]
Adding support for packages into hpc tools
andy@galois.com [Wed, 11 Jul 2007 07:20:02 +0000 (07:20 +0000)]
Adding tick boxes to the interface syntax; fixes #1510
andy@galois.com [Wed, 11 Jul 2007 07:19:35 +0000 (07:19 +0000)]
calling pprPanic rather than error when something goes wrong
andy@galois.com [Wed, 11 Jul 2007 07:18:42 +0000 (07:18 +0000)]
Adding better support for HsSyn
andy@galois.com [Wed, 11 Jul 2007 07:05:55 +0000 (07:05 +0000)]
Adding support for package names into hpc outputed code
We store .mix files in
.hpc/<package>/<the.module.name>.mix
The package main the empty package (aka other naming passes),
so Main just is stored in
.hpc/Main.tix
This change in backwards compatable.
andy@galois.com [Wed, 11 Jul 2007 06:35:20 +0000 (06:35 +0000)]
Stoping constant folding of calls to chr# that are invalid
import GHC.Exts
main = print (C# (chr# 0xffffffff#))
This crashed at compile time (with or without hpc)
Tickled by pending cross-module hpc inlining patch.
Ian Lynagh [Tue, 10 Jul 2007 15:24:06 +0000 (15:24 +0000)]
Be finer-grained when turning on extensions for generated code
Ian Lynagh [Tue, 10 Jul 2007 13:02:14 +0000 (13:02 +0000)]
Tweak error message
Ian Lynagh [Tue, 10 Jul 2007 12:47:38 +0000 (12:47 +0000)]
Fix tcInstHeadTyNotSynonym
It was returning False for type variables amongst other things, so
"instance C a" was telling us to use -XTypeSynonymInstances.
Ian Lynagh [Mon, 9 Jul 2007 20:43:43 +0000 (20:43 +0000)]
Add flag -XConstrainedClassMethods
Ian Lynagh [Mon, 9 Jul 2007 20:02:49 +0000 (20:02 +0000)]
Just alpha-rename a variable
Ian Lynagh [Mon, 9 Jul 2007 19:54:08 +0000 (19:54 +0000)]
Add -XUnliftedFFITypes flag
Ian Lynagh [Mon, 9 Jul 2007 19:30:56 +0000 (19:30 +0000)]
Implement unboxed tuples flags
-XUnboxedTuples
-XExpressionSignaturesUnboxedTuples
-XTypeSynonymUnboxedTuples
Ian Lynagh [Mon, 9 Jul 2007 18:22:09 +0000 (18:22 +0000)]
Tweak the undecidable-instance-checking logic
Just looking at Opt_GlasgowExts is not sufficient to see if we need
to do an instance undecidability check. Rather than try to enumerate
all the extensions that may require us to do the check we now always
do it.
Ian Lynagh [Mon, 9 Jul 2007 18:14:55 +0000 (18:14 +0000)]
Define -XPartiallyAppliedClosedTypeSynonyms flag
Ian Lynagh [Mon, 9 Jul 2007 17:54:11 +0000 (17:54 +0000)]
Add -XPatternSigs flag
Roman Leshchinskiy [Tue, 10 Jul 2007 11:38:22 +0000 (11:38 +0000)]
PA is now a class instead of a record
Roman Leshchinskiy [Tue, 10 Jul 2007 11:35:43 +0000 (11:35 +0000)]
Add dsLookupClass