ghc-hetmet.git
16 years agoAdding pushing of hpc translation status through hi files.
andy@galois.com [Tue, 17 Jul 2007 07:35:10 +0000 (07:35 +0000)]
Adding pushing of hpc translation status through hi files.

Now, if a single module *anywhere* on the module tree is built with
-fhpc, the binary will enable reading/writing of <bin>.tix.

Previously, you needed to compile Main to allow coverage to operate.

This changes the file format for .hi files; you will need to recompile every library.

16 years agoHandle unlifted tycons and tuples correctly during vectorisation
Roman Leshchinskiy [Tue, 17 Jul 2007 06:48:16 +0000 (06:48 +0000)]
Handle unlifted tycons and tuples correctly during vectorisation

16 years agoInitialise global vectorisation environment properly
Roman Leshchinskiy [Tue, 17 Jul 2007 06:42:33 +0000 (06:42 +0000)]
Initialise global vectorisation environment properly

16 years agoVectorise type declarations
Roman Leshchinskiy [Tue, 17 Jul 2007 06:33:09 +0000 (06:33 +0000)]
Vectorise type declarations

16 years agoVectorisation of data declarations (incomplete)
Roman Leshchinskiy [Tue, 17 Jul 2007 06:13:06 +0000 (06:13 +0000)]
Vectorisation of data declarations (incomplete)

16 years agoAdd vectorisation environment transformers
Roman Leshchinskiy [Tue, 17 Jul 2007 05:49:43 +0000 (05:49 +0000)]
Add vectorisation environment transformers

16 years agoRefactor
Roman Leshchinskiy [Tue, 17 Jul 2007 05:28:35 +0000 (05:28 +0000)]
Refactor

16 years agoRemove mapping from tycons to PA dictionaries from vect environment
Roman Leshchinskiy [Tue, 17 Jul 2007 05:23:23 +0000 (05:23 +0000)]
Remove mapping from tycons to PA dictionaries from vect environment

16 years agoAdd datacons to vectorisation environment
Roman Leshchinskiy [Tue, 17 Jul 2007 05:22:39 +0000 (05:22 +0000)]
Add datacons to vectorisation environment

16 years agoAdd fixV
Roman Leshchinskiy [Tue, 17 Jul 2007 05:15:27 +0000 (05:15 +0000)]
Add fixV

16 years agoClassification of tycons for vectorisation
Roman Leshchinskiy [Tue, 17 Jul 2007 05:03:37 +0000 (05:03 +0000)]
Classification of tycons for vectorisation

16 years agoClean up
Roman Leshchinskiy [Tue, 17 Jul 2007 04:19:57 +0000 (04:19 +0000)]
Clean up

16 years agoMove type vectorisation code to a separate module
Roman Leshchinskiy [Tue, 17 Jul 2007 04:16:45 +0000 (04:16 +0000)]
Move type vectorisation code to a separate module

16 years agoPass correct dictionary to lengthPA for single-element environments
Roman Leshchinskiy [Mon, 16 Jul 2007 11:08:19 +0000 (11:08 +0000)]
Pass correct dictionary to lengthPA for single-element environments

16 years agoAbstract over all in-scope type variables when creating closures
Roman Leshchinskiy [Mon, 16 Jul 2007 10:58:47 +0000 (10:58 +0000)]
Abstract over all in-scope type variables when creating closures

16 years agoPass PA dictionaries after all type arguments
Roman Leshchinskiy [Mon, 16 Jul 2007 10:56:19 +0000 (10:56 +0000)]
Pass PA dictionaries after all type arguments

This makes the code slightly simpler but only works because we do not support
rank-n types.

16 years agoFix bug in lifted environment inspection code
Roman Leshchinskiy [Mon, 16 Jul 2007 07:23:38 +0000 (07:23 +0000)]
Fix bug in lifted environment inspection code

16 years agoLifting contexts have type Int#
Roman Leshchinskiy [Mon, 16 Jul 2007 06:51:55 +0000 (06:51 +0000)]
Lifting contexts have type Int#

This tracks the corresponding change in package ndp. With this patch, we
finally can vectorise something (f x = x).

16 years agoFix bug in vectorisation
Roman Leshchinskiy [Mon, 16 Jul 2007 06:35:48 +0000 (06:35 +0000)]
Fix bug in vectorisation

16 years agoFix bad bug in type vectorisation
Roman Leshchinskiy [Mon, 16 Jul 2007 06:28:33 +0000 (06:28 +0000)]
Fix bad bug in type vectorisation

16 years agoMake vectorisation part of the optimiser pipeline
Roman Leshchinskiy [Mon, 16 Jul 2007 06:19:00 +0000 (06:19 +0000)]
Make vectorisation part of the optimiser pipeline

16 years agoGet NDP prelnames from the right modules
Roman Leshchinskiy [Mon, 16 Jul 2007 06:18:16 +0000 (06:18 +0000)]
Get NDP prelnames from the right modules

16 years agoVectorise top-level bindings of a module
Roman Leshchinskiy [Mon, 16 Jul 2007 05:24:06 +0000 (05:24 +0000)]
Vectorise top-level bindings of a module

16 years agoVectorisation of top-level bindings
Roman Leshchinskiy [Mon, 16 Jul 2007 05:11:39 +0000 (05:11 +0000)]
Vectorisation of top-level bindings

16 years agoStore hoisted bindings in the global environment during vectorisation
Roman Leshchinskiy [Mon, 16 Jul 2007 05:00:19 +0000 (05:00 +0000)]
Store hoisted bindings in the global environment during vectorisation

16 years agoAdd support for name cloning to vectorisation monad
Roman Leshchinskiy [Mon, 16 Jul 2007 04:48:26 +0000 (04:48 +0000)]
Add support for name cloning to vectorisation monad

16 years agoRefactoring
Roman Leshchinskiy [Mon, 16 Jul 2007 04:48:01 +0000 (04:48 +0000)]
Refactoring

16 years agoAdapt interface file code for vectorisation
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.

16 years agoCollect hoisted vectorised functions
Roman Leshchinskiy [Mon, 16 Jul 2007 02:11:51 +0000 (02:11 +0000)]
Collect hoisted vectorised functions

16 years agoFirst incomplete version of closure vectorisation
Roman Leshchinskiy [Fri, 13 Jul 2007 07:33:18 +0000 (07:33 +0000)]
First incomplete version of closure vectorisation

16 years agoRefactor slightly
Roman Leshchinskiy [Fri, 13 Jul 2007 07:33:04 +0000 (07:33 +0000)]
Refactor slightly

16 years agoAdd utility function for vectorisation
Roman Leshchinskiy [Fri, 13 Jul 2007 07:32:27 +0000 (07:32 +0000)]
Add utility function for vectorisation

16 years agoAdd closedV
Roman Leshchinskiy [Fri, 13 Jul 2007 07:28:43 +0000 (07:28 +0000)]
Add closedV

16 years agoExport wrapFamInstBody and unwrapFamInstScrut
Roman Leshchinskiy [Thu, 12 Jul 2007 04:54:34 +0000 (04:54 +0000)]
Export wrapFamInstBody and unwrapFamInstScrut

16 years agoRefactoring
Roman Leshchinskiy [Wed, 11 Jul 2007 04:48:20 +0000 (04:48 +0000)]
Refactoring

16 years agoAdd whitespace
Roman Leshchinskiy [Wed, 11 Jul 2007 03:58:39 +0000 (03:58 +0000)]
Add whitespace

16 years agoOnly vectorise rank-1 expressions
Roman Leshchinskiy [Wed, 11 Jul 2007 03:56:16 +0000 (03:56 +0000)]
Only vectorise rank-1 expressions

16 years agoMove some vectorisation utility functions
Roman Leshchinskiy [Tue, 10 Jul 2007 14:09:34 +0000 (14:09 +0000)]
Move some vectorisation utility functions

16 years agoModify PA dictionary computation to work with the class-based scheme
Roman Leshchinskiy [Tue, 10 Jul 2007 14:02:21 +0000 (14:02 +0000)]
Modify PA dictionary computation to work with the class-based scheme

16 years agoClean up handling of PA dictionaries
Roman Leshchinskiy [Tue, 10 Jul 2007 13:31:24 +0000 (13:31 +0000)]
Clean up handling of PA dictionaries

16 years agoFIX problem with not using the compat lib for Set in hpc tools.
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.

16 years agoProperly parse GC blocks for functions with info tables
Michael D. Adams [Sun, 15 Jul 2007 20:41:16 +0000 (20:41 +0000)]
Properly parse GC blocks for functions with info tables

16 years agoRemoved 'allow_header_set' argument from 'pack_continuation'.
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.

16 years agoFixed conditional branches to proc points
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.

16 years agoRemoved unused variable from compiler/cmm/CmmCPS.hs
Michael D. Adams [Sun, 15 Jul 2007 20:17:17 +0000 (20:17 +0000)]
Removed unused variable from compiler/cmm/CmmCPS.hs

16 years agoRemoved unused import 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

16 years agoKeep the CPS pass from creating proc points due to unreachable parents.
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.

16 years agoFixed CPS to account for info tables not being next to code
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

16 years agoFix the CPS pass to pack the continuation with correct label form.
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.

16 years agoFix for print022 (round up when dividing type size by word size)
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)

16 years agoFix putting hsicon.ico into the Windows installer; fixes #1515
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.

16 years agoUpdate the ghci "loading" section of the user guide
Ian Lynagh [Sat, 14 Jul 2007 00:13:46 +0000 (00:13 +0000)]
Update the ghci "loading" section of the user guide

16 years agoDon't show the ghci :? output in 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.

16 years agoUser guide tweaks
Ian Lynagh [Fri, 13 Jul 2007 22:26:56 +0000 (22:26 +0000)]
User guide tweaks

16 years agoUser guide tweaks
Ian Lynagh [Fri, 13 Jul 2007 22:12:58 +0000 (22:12 +0000)]
User guide tweaks

16 years agoTweak Windows installation instructions in the user guide
Ian Lynagh [Fri, 13 Jul 2007 22:06:28 +0000 (22:06 +0000)]
Tweak Windows installation instructions in the user guide

16 years agoUpdate the contents of the library directy 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

16 years agoUser guide tweaks
Ian Lynagh [Fri, 13 Jul 2007 21:00:49 +0000 (21:00 +0000)]
User guide tweaks

16 years agoDon't talk about nfib from the user guide now that we no longer ship it
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

16 years agoRemove "What bundles there are" now we only have the standard one
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

16 years agoUpdate bundle installation instructions
Ian Lynagh [Fri, 13 Jul 2007 19:44:24 +0000 (19:44 +0000)]
Update bundle installation instructions

16 years agoIn the users guide, talk about configure flags
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)

16 years agoRemove "install in-place" blurb from the docs as it no longer works
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

16 years agodoc tweak
Ian Lynagh [Thu, 12 Jul 2007 01:53:40 +0000 (01:53 +0000)]
doc tweak

16 years agoRemove outdated bundle-contents description
Ian Lynagh [Thu, 12 Jul 2007 01:52:16 +0000 (01:52 +0000)]
Remove outdated bundle-contents description

16 years agoMerge *UnboxedTuples flags
Ian Lynagh [Thu, 12 Jul 2007 01:12:54 +0000 (01:12 +0000)]
Merge *UnboxedTuples flags
Merge
    ExpressionSignaturesUnboxedTuples
    TypeSynonymUnboxedTuples
into
    UnboxedTuples

16 years agoAutomatic RTTI for ghci bindings
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

16 years agoTeach :print to not panic when the DataCon for a closure is not exposed by the .hi...
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

16 years agoFix an array indexing bug in getClosureData (used by :print)
Pepe Iborra [Thu, 12 Jul 2007 16:30:12 +0000 (16:30 +0000)]
Fix an array indexing bug in getClosureData (used by :print)

16 years agoremove some leftovers of the first ghci debugger prototype
Pepe Iborra [Wed, 11 Jul 2007 23:45:14 +0000 (23:45 +0000)]
remove some leftovers of the first ghci debugger prototype

16 years agoFix imports & add missing type signatures
Pepe Iborra [Wed, 11 Jul 2007 10:17:49 +0000 (10:17 +0000)]
Fix imports & add missing type signatures

16 years agoAsk for a HscEnv instead of a Session in InteractiveEval.obtainTerm
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

16 years agoAdd a max depth bound to the bfs implementation in cvReconstructType,
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

16 years agoFIX panic from the GHC API
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.

16 years agoinit mg_inst_env when reading ext core
Manuel M T Chakravarty [Fri, 13 Jul 2007 07:37:29 +0000 (07:37 +0000)]
init mg_inst_env when reading ext core

16 years agoWarning Police: No newline at end of file
Michael D. Adams [Fri, 13 Jul 2007 20:40:28 +0000 (20:40 +0000)]
Warning Police: No newline at end of file

16 years agoWarning Police: Unused imports
Michael D. Adams [Fri, 13 Jul 2007 20:19:13 +0000 (20:19 +0000)]
Warning Police: Unused imports

16 years agoAdded libraries/parallel to .darcs-boring
Michael D. Adams [Fri, 13 Jul 2007 18:21:17 +0000 (18:21 +0000)]
Added libraries/parallel to .darcs-boring

16 years agoAdding draft and show to hpc
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.

16 years agoFixing Hpc SrcSpan usage; rejecting SrcSpans that are not in the source file
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.

16 years agoRevert the $* patch for earlier Perls as it breaks the build. Sorry. :/
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. :/

16 years agoIn mangler, lift the multiline-match pragma to toplevel and document it better.
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.

16 years ago* Evil Mangler broke under Perl 5.9+ because $* is gone; this fixes it.
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.

16 years agoRemove import
David Waern [Wed, 11 Jul 2007 19:40:05 +0000 (19:40 +0000)]
Remove import

16 years agoRemove comment
David Waern [Wed, 11 Jul 2007 19:35:04 +0000 (19:35 +0000)]
Remove comment

16 years ago* Future-proof autoconf's Perl version test.
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.)

16 years agoTweak the start of the bin-dist docs in teh users guide
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

16 years agoRemove reference to the now-dead fptools
Ian Lynagh [Wed, 11 Jul 2007 00:00:02 +0000 (00:00 +0000)]
Remove reference to the now-dead fptools

16 years agoRemove references to non-existent mailing lists
Ian Lynagh [Tue, 10 Jul 2007 23:58:38 +0000 (23:58 +0000)]
Remove references to non-existent mailing lists

16 years agoRemove the -bugs mailing list from the UG
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.

16 years agoUsers guide: Update FAQ URL
Ian Lynagh [Tue, 10 Jul 2007 23:45:09 +0000 (23:45 +0000)]
Users guide: Update FAQ URL

16 years agoUsers guide: GHC no longer comes with so many libraries
Ian Lynagh [Tue, 10 Jul 2007 23:42:36 +0000 (23:42 +0000)]
Users guide: GHC no longer comes with so many libraries

16 years agoUpdate copyright date in teh users guide
Ian Lynagh [Tue, 10 Jul 2007 23:39:12 +0000 (23:39 +0000)]
Update copyright date in teh users guide

16 years agoAlpha-rename a variable
Ian Lynagh [Tue, 10 Jul 2007 23:33:08 +0000 (23:33 +0000)]
Alpha-rename a variable

16 years agoOpt_GlasgowExts is no longer used, so remove it
Ian Lynagh [Tue, 10 Jul 2007 23:26:35 +0000 (23:26 +0000)]
Opt_GlasgowExts is no longer used, so remove it

16 years agoImplement -XStandaloneDeriving, the lexer is now glaexts-free
Ian Lynagh [Tue, 10 Jul 2007 21:01:29 +0000 (21:01 +0000)]
Implement -XStandaloneDeriving, the lexer is now glaexts-free

16 years ago'a'# syntax is enabled by the MagicHash extension
Ian Lynagh [Tue, 10 Jul 2007 20:39:24 +0000 (20:39 +0000)]
'a'# syntax is enabled by the MagicHash extension

16 years ago"Foo"# 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

16 years ago5# 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

16 years ago{| and |} are -fgenerics syntax
Ian Lynagh [Tue, 10 Jul 2007 20:21:29 +0000 (20:21 +0000)]
{| and |} are -fgenerics syntax