ghc-hetmet.git
13 years agoFix retainer profiling Before_type_family_merge
Ian Lynagh [Sun, 26 Aug 2007 14:45:40 +0000 (14:45 +0000)]
Fix retainer profiling

13 years agoOn Windows, stage1 also deps on stamp.inplace-gcc-lib
Ian Lynagh [Sun, 26 Aug 2007 13:38:30 +0000 (13:38 +0000)]
On Windows, stage1 also deps on stamp.inplace-gcc-lib

13 years agoSynched GHC's .spec file with recent changes
sven.panne@aedion.de [Sun, 26 Aug 2007 09:30:26 +0000 (09:30 +0000)]
Synched GHC's .spec file with recent changes
Fixed hsc2hs handling and added hpc binary. Explicitly generate Cabal docs.
Note that the Haddock documentation is currently not in the right place,
this needs more investigation, but at least we can build a valid RPM now.

13 years agoCheck that exported modules were actually imported; fixes #1384
Ian Lynagh [Sun, 26 Aug 2007 00:12:32 +0000 (00:12 +0000)]
Check that exported modules were actually imported; fixes #1384

13 years agoBe more flexible when trying to make scripts executable
sven.panne@aedion.de [Sat, 25 Aug 2007 19:32:16 +0000 (19:32 +0000)]
Be more flexible when trying to make scripts executable

13 years agoDon't put push-all and darcs-all in source dists
Ian Lynagh [Sat, 25 Aug 2007 17:55:02 +0000 (17:55 +0000)]
Don't put push-all and darcs-all in source dists
We don't have the _darcs directories, so they won't work.

13 years agoAdd a missing "entryCode"
Ian Lynagh [Sat, 25 Aug 2007 17:12:31 +0000 (17:12 +0000)]
Add a missing "entryCode"
This was causing us to try to jump to the address of an infotable when
unregisterised, leading to a segfault.

13 years agoFix the IF_DEBUG(interpreter in StgCRun.c
Ian Lynagh [Sat, 25 Aug 2007 13:08:10 +0000 (13:08 +0000)]
Fix the IF_DEBUG(interpreter in StgCRun.c

13 years agoAdd "Support SMP" and "RTS ways" to the compiler --info output
Ian Lynagh [Sat, 25 Aug 2007 01:57:54 +0000 (01:57 +0000)]
Add "Support SMP" and "RTS ways" to the compiler --info output

13 years agoOverhaul boot script
sven.panne@aedion.de [Sat, 25 Aug 2007 13:30:52 +0000 (13:30 +0000)]
Overhaul boot script
* Call autoreconf only if necessary, avoiding a strict tool dependency.
* Be a good *nix citizen and don't clutter the output when everything is fine.
* Make a few more scripts executable.

13 years agoAdded a few missing files to a source distribution
sven.panne@aedion.de [Sat, 25 Aug 2007 12:11:50 +0000 (12:11 +0000)]
Added a few missing files to a source distribution

13 years agoFixed test for pwd executable
sven.panne@aedion.de [Sat, 25 Aug 2007 11:55:19 +0000 (11:55 +0000)]
Fixed test for pwd executable
Added a missing "test" and replaced the "-e" option of the shell-builtin
"test" with "-f". The former is not portable, see autoconf documentation.

13 years agoJump through some hoops to make the Windows SEH exception stuff happy
Ian Lynagh [Fri, 24 Aug 2007 22:23:17 +0000 (22:23 +0000)]
Jump through some hoops to make the Windows SEH exception stuff happy

13 years agoCheck haddocking works when validating
Ian Lynagh [Fri, 24 Aug 2007 19:56:09 +0000 (19:56 +0000)]
Check haddocking works when validating

13 years agoAdd "have interpreter" to the compiler --info output
Ian Lynagh [Fri, 24 Aug 2007 21:30:24 +0000 (21:30 +0000)]
Add "have interpreter" to the compiler --info output

13 years agoIn ghc-inplace, flush stdout after giving debugging output
Ian Lynagh [Fri, 24 Aug 2007 13:27:02 +0000 (13:27 +0000)]
In ghc-inplace, flush stdout after giving debugging output

13 years agoFollow Array changes (adding numElements field)
Ian Lynagh [Fri, 10 Aug 2007 14:16:14 +0000 (14:16 +0000)]
Follow Array changes (adding numElements field)

13 years agoCabal upstream API change -- installPackage to use installDirTemplates
Clemens Fruhwirth [Fri, 24 Aug 2007 18:13:25 +0000 (18:13 +0000)]
Cabal upstream API change -- installPackage to use installDirTemplates

13 years agoErase unneeded spill/reloads after register allocation
Ben.Lippmeier@anu.edu.au [Fri, 24 Aug 2007 14:31:32 +0000 (14:31 +0000)]
Erase unneeded spill/reloads after register allocation

13 years agoBe more paranoid about not creating space leaks in coloring allocator
Ben.Lippmeier@anu.edu.au [Fri, 24 Aug 2007 10:13:05 +0000 (10:13 +0000)]
Be more paranoid about not creating space leaks in coloring allocator

13 years agoShow spill/reload pseudo instrs in regalloc stage dump
Ben.Lippmeier@anu.edu.au [Fri, 24 Aug 2007 09:57:34 +0000 (09:57 +0000)]
Show spill/reload pseudo instrs in regalloc stage dump

13 years agowindres also needs the PATH workaround, because it runs gcc
Simon Marlow [Fri, 24 Aug 2007 14:33:30 +0000 (14:33 +0000)]
windres also needs the PATH workaround, because it runs gcc

13 years agofreeProfiling1() needs to be after endProfiling()
Simon Marlow [Fri, 24 Aug 2007 13:19:25 +0000 (13:19 +0000)]
freeProfiling1() needs to be after endProfiling()
Fixes another crash with biographical profiling.

13 years agofix getting the exit code
Simon Marlow [Fri, 24 Aug 2007 13:12:45 +0000 (13:12 +0000)]
fix getting the exit code

13 years agoFIX #1519, crash in biographical profiling
Simon Marlow [Fri, 24 Aug 2007 10:18:03 +0000 (10:18 +0000)]
FIX #1519, crash in biographical profiling
In eval_thunk_selector(), when filling the slop for a closure we've
just updated, we were using the wrong info table.  This bug appears to
have been in 6.6, too.

13 years agofix +RTS -V0 when not using -threaded
Simon Marlow [Fri, 24 Aug 2007 09:55:32 +0000 (09:55 +0000)]
fix +RTS -V0 when not using -threaded

13 years agoFix info table for stg_ap_1_upd, it stated 1 non-ptr, should be zero
Simon Marlow [Fri, 24 Aug 2007 09:54:40 +0000 (09:54 +0000)]
Fix info table for stg_ap_1_upd, it stated 1 non-ptr, should be zero
Fixes a crash I encountered with profiling and -debug

13 years agoclean doc-index-*.html (for older versions of Haddock)
Simon Marlow [Fri, 24 Aug 2007 08:24:06 +0000 (08:24 +0000)]
clean doc-index-*.html (for older versions of Haddock)

13 years agoadd pwd to SUBDIRS, so it gets cleaned
Simon Marlow [Fri, 24 Aug 2007 08:23:53 +0000 (08:23 +0000)]
add pwd to SUBDIRS, so it gets cleaned

13 years agoinclude bindisttest in source distributions (fixes srcdist)
Simon Marlow [Fri, 24 Aug 2007 08:08:47 +0000 (08:08 +0000)]
include bindisttest in source distributions (fixes srcdist)

13 years agoAdd spill/reload pseudo instrs to MachInstrs
Ben.Lippmeier@anu.edu.au [Thu, 23 Aug 2007 16:57:44 +0000 (16:57 +0000)]
Add spill/reload pseudo instrs to MachInstrs

Spiller can now insert spill/reload instrs without having to
worry about the current stack delta. Generation of actual machine
instructions for spills/reloads is deferred until after register
allocation proper.

13 years agoImprove docs for mdo
simonpj@microsoft.com [Fri, 24 Aug 2007 09:07:26 +0000 (09:07 +0000)]
Improve docs for mdo

13 years agoCorrect link
simonpj@microsoft.com [Fri, 24 Aug 2007 09:07:16 +0000 (09:07 +0000)]
Correct link

13 years agoFix typo in comment
Michael D. Adams [Mon, 6 Aug 2007 05:06:55 +0000 (05:06 +0000)]
Fix typo in comment

13 years agoAdded a case for non-zero arity INFO_TABLE_FUN to the Cmm parser.
Michael D. Adams [Mon, 6 Aug 2007 05:00:19 +0000 (05:00 +0000)]
Added a case for non-zero arity INFO_TABLE_FUN to the Cmm parser.
This is needed in order to write Main_main from pure Cmm.

13 years agoChange to the Cmm syntax. Put gc_block before update_frame.
Michael D. Adams [Mon, 6 Aug 2007 04:50:11 +0000 (04:50 +0000)]
Change to the Cmm syntax. Put gc_block before update_frame.
This order matches the symantic order better since
the GC check is done before the update frame is pushed.

13 years agoFix the calling convention order in the CPS
Michael D. Adams [Mon, 6 Aug 2007 04:48:11 +0000 (04:48 +0000)]
Fix the calling convention order in the CPS
It now matches the order used by the existing codeGen.

13 years agoRegalloc stage dump in right order
Ben.Lippmeier@anu.edu.au [Thu, 23 Aug 2007 13:34:07 +0000 (13:34 +0000)]
Regalloc stage dump in right order

13 years agoEliminate more dead reg->reg moves in linear allocator
Ben.Lippmeier@anu.edu.au [Thu, 23 Aug 2007 13:26:14 +0000 (13:26 +0000)]
Eliminate more dead reg->reg moves in linear allocator

13 years agoHandle DOA vregs when building spill stats
Ben.Lippmeier@anu.edu.au [Thu, 23 Aug 2007 12:10:09 +0000 (12:10 +0000)]
Handle DOA vregs when building spill stats

13 years agoUse UniqSet instead of Data.Set
Ben.Lippmeier@anu.edu.au [Thu, 23 Aug 2007 09:48:19 +0000 (09:48 +0000)]
Use UniqSet instead of Data.Set

13 years agocomment wibble
Ben.Lippmeier@anu.edu.au [Wed, 22 Aug 2007 17:11:28 +0000 (17:11 +0000)]
comment wibble

13 years agoRefactor cmmNativeGen so dumps can be emitted inline with NCG stages
Ben.Lippmeier@anu.edu.au [Wed, 22 Aug 2007 17:04:12 +0000 (17:04 +0000)]
Refactor cmmNativeGen so dumps can be emitted inline with NCG stages

13 years agoImprove handling of inline pragmas, esp where type applications are involved
simonpj@microsoft.com [Thu, 23 Aug 2007 15:20:27 +0000 (15:20 +0000)]
Improve handling of inline pragmas, esp where type applications are involved

See the definition of splitInlineCont for what this is about.
Cures Trac #1627.
Test is simpl017

13 years agoAdd comments about ModGuts instance envts (and re-order fields)
simonpj@microsoft.com [Wed, 22 Aug 2007 15:41:46 +0000 (15:41 +0000)]
Add comments about ModGuts instance envts (and re-order fields)

13 years agoWhen installing, get libgmp.a from the right place
Ian Lynagh [Thu, 23 Aug 2007 02:19:40 +0000 (02:19 +0000)]
When installing, get libgmp.a from the right place

13 years agoPut a space between gcc and its arguments when calling windres
Ian Lynagh [Thu, 23 Aug 2007 02:19:14 +0000 (02:19 +0000)]
Put a space between gcc and its arguments when calling windres

13 years agowindres is in bin/, not the top-level directory
Ian Lynagh [Thu, 23 Aug 2007 02:18:50 +0000 (02:18 +0000)]
windres is in bin/, not the top-level directory

13 years agoIn bindisttest, don't try to configure/install the bindist on Windows
Ian Lynagh [Thu, 23 Aug 2007 02:18:23 +0000 (02:18 +0000)]
In bindisttest, don't try to configure/install the bindist on Windows

13 years agoFIX #1626: needed to export hs_hpc_rootModule
Simon Marlow [Thu, 23 Aug 2007 11:28:14 +0000 (11:28 +0000)]
FIX #1626: needed to export hs_hpc_rootModule

13 years agoGenerate dictPRepr
Roman Leshchinskiy [Thu, 23 Aug 2007 03:20:48 +0000 (03:20 +0000)]
Generate dictPRepr

13 years agoAdd generation of PR dictionaries
Roman Leshchinskiy [Thu, 23 Aug 2007 02:36:58 +0000 (02:36 +0000)]
Add generation of PR dictionaries

13 years agoInitialise PR dictionaries in vectorisation monad
Roman Leshchinskiy [Thu, 23 Aug 2007 01:53:51 +0000 (01:53 +0000)]
Initialise PR dictionaries in vectorisation monad

13 years agoAdd PR dictionaries to vectorisation monad
Roman Leshchinskiy [Thu, 23 Aug 2007 01:45:26 +0000 (01:45 +0000)]
Add PR dictionaries to vectorisation monad

13 years agoEmbed doesn't store a PA dictionary any more
Roman Leshchinskiy [Thu, 23 Aug 2007 01:41:31 +0000 (01:41 +0000)]
Embed doesn't store a PA dictionary any more

13 years agoRead the package state after pulling in all built-ins during vectorisation
Roman Leshchinskiy [Thu, 23 Aug 2007 01:34:58 +0000 (01:34 +0000)]
Read the package state after pulling in all built-ins during vectorisation

13 years agoMove all vectorisation built-ins to VectBuiltIn
Roman Leshchinskiy [Thu, 23 Aug 2007 01:30:21 +0000 (01:30 +0000)]
Move all vectorisation built-ins to VectBuiltIn

13 years agoMove vectorisation built-ins to a separate module
Roman Leshchinskiy [Thu, 23 Aug 2007 00:24:06 +0000 (00:24 +0000)]
Move vectorisation built-ins to a separate module

13 years agoPR is an explicit record, not a class
Roman Leshchinskiy [Wed, 22 Aug 2007 16:09:53 +0000 (16:09 +0000)]
PR is an explicit record, not a class

13 years agoAdd vectorisation-related built-in
Roman Leshchinskiy [Wed, 22 Aug 2007 06:58:50 +0000 (06:58 +0000)]
Add vectorisation-related built-in

13 years agoGenerate conversion from PRepr to original type
Roman Leshchinskiy [Wed, 22 Aug 2007 06:18:25 +0000 (06:18 +0000)]
Generate conversion from PRepr to original type

13 years agoRefactoring
Roman Leshchinskiy [Wed, 22 Aug 2007 05:41:31 +0000 (05:41 +0000)]
Refactoring

13 years agoGenerate conversion to PRepr during vectorisation
Roman Leshchinskiy [Wed, 22 Aug 2007 05:09:27 +0000 (05:09 +0000)]
Generate conversion to PRepr during vectorisation

13 years agoUse NDP's own (:*:) and (:+:)
Roman Leshchinskiy [Wed, 22 Aug 2007 04:46:34 +0000 (04:46 +0000)]
Use NDP's own (:*:) and (:+:)

13 years agoUtility functions for vectorisation
Roman Leshchinskiy [Wed, 22 Aug 2007 03:44:11 +0000 (03:44 +0000)]
Utility functions for vectorisation

13 years agoMore refactoring
Roman Leshchinskiy [Wed, 22 Aug 2007 02:49:23 +0000 (02:49 +0000)]
More refactoring

13 years agoRefactoring
Roman Leshchinskiy [Wed, 22 Aug 2007 02:32:30 +0000 (02:32 +0000)]
Refactoring

13 years agoAdd built-ins to vectorisation monad
Roman Leshchinskiy [Wed, 22 Aug 2007 02:11:33 +0000 (02:11 +0000)]
Add built-ins to vectorisation monad

13 years agoRefactoring
Roman Leshchinskiy [Wed, 22 Aug 2007 02:08:14 +0000 (02:08 +0000)]
Refactoring

13 years agoVectorise nullary constructors correctly
Roman Leshchinskiy [Wed, 22 Aug 2007 01:59:30 +0000 (01:59 +0000)]
Vectorise nullary constructors correctly

13 years agoRename vectorisation-related stuff
Roman Leshchinskiy [Wed, 22 Aug 2007 01:29:07 +0000 (01:29 +0000)]
Rename vectorisation-related stuff

13 years agoGenerate PRepr instances during vectorisation
Roman Leshchinskiy [Wed, 22 Aug 2007 01:22:36 +0000 (01:22 +0000)]
Generate PRepr instances during vectorisation

13 years agoUse functions from BuildTyCl for vectorisation
Roman Leshchinskiy [Tue, 21 Aug 2007 07:17:09 +0000 (07:17 +0000)]
Use functions from BuildTyCl for vectorisation

13 years agoAdd a couple of built-ins to the vectorisation monad
Roman Leshchinskiy [Tue, 21 Aug 2007 04:00:34 +0000 (04:00 +0000)]
Add a couple of built-ins to the vectorisation monad

13 years agoGet the PA dictionary for closures from the right module
Roman Leshchinskiy [Tue, 21 Aug 2007 02:45:29 +0000 (02:45 +0000)]
Get the PA dictionary for closures from the right module

13 years agoRemove packPA and combinePA from vectorisation built-ins for now
Roman Leshchinskiy [Tue, 21 Aug 2007 02:44:46 +0000 (02:44 +0000)]
Remove packPA and combinePA from vectorisation built-ins for now

13 years agoAdd NDP-related PrelNames
Roman Leshchinskiy [Tue, 21 Aug 2007 02:26:45 +0000 (02:26 +0000)]
Add NDP-related PrelNames

13 years agoPrint infix function definitions correctly in HsSyn
simonpj@microsoft.com [Wed, 22 Aug 2007 23:03:24 +0000 (23:03 +0000)]
Print infix function definitions correctly in HsSyn

13 years agoTrim imports
simonpj@microsoft.com [Wed, 22 Aug 2007 23:02:55 +0000 (23:02 +0000)]
Trim imports

13 years agoAdd a bindisttest directory
Ian Lynagh [Wed, 22 Aug 2007 20:20:40 +0000 (20:20 +0000)]
Add a bindisttest directory
After
    make binary-dist stage=2
you can run make in bindisttest/ to test it

13 years agoInclude package.mk in target.mk, in the bindists's mk/
Ian Lynagh [Wed, 22 Aug 2007 20:10:49 +0000 (20:10 +0000)]
Include package.mk in target.mk, in the bindists's mk/

13 years agoBuild fix: modBreaks -> modBreaks_decls modbreaks
Michael D. Adams [Wed, 22 Aug 2007 18:36:32 +0000 (18:36 +0000)]
Build fix: modBreaks -> modBreaks_decls modbreaks

13 years agoUse unsafeDupableInterleaveIO in UniqSupply
Ian Lynagh [Wed, 22 Aug 2007 14:34:22 +0000 (14:34 +0000)]
Use unsafeDupableInterleaveIO in UniqSupply
We'll need to change this if we ever use threads in GHC, but for now it
drops mkSplitUniqSupply from 35% time down below 0.1% when compiling
J.hs from #1136.

13 years agoLink ghc-pkg and hpc with containers if building ghc 6.7 or newer
Esa Ilari Vuokko [Tue, 21 Aug 2007 21:04:59 +0000 (21:04 +0000)]
Link ghc-pkg and hpc with containers if building ghc 6.7 or newer

13 years agomakeRelativeRefTo checks tablesNextToCode, so we don't have to before using it
Ian Lynagh [Mon, 20 Aug 2007 10:30:58 +0000 (10:30 +0000)]
makeRelativeRefTo checks tablesNextToCode, so we don't have to before using it

13 years agoAllow redirection of -ddump-* to file
Ben.Lippmeier@anu.edu.au [Tue, 21 Aug 2007 16:31:10 +0000 (16:31 +0000)]
Allow redirection of -ddump-* to file
Whilst compiling Main.hs with -ddump-stg, ddump-asm and friends
you can how add -ddump-to-file and you'll get the dumps redirected
to Main.dump-stg, Main.dump-asm etc.

13 years agoInstrument linear register allocator.
Ben.Lippmeier@anu.edu.au [Tue, 21 Aug 2007 12:08:55 +0000 (12:08 +0000)]
Instrument linear register allocator.

Linear register allocator now keeps track of why it spilled certain
registers. It had to be refactored somewhat to thread the information
through, but the algorithm is unchanged.

13 years agoNCG debugging cleanup
Ben.Lippmeier@anu.edu.au [Mon, 20 Aug 2007 10:18:59 +0000 (10:18 +0000)]
NCG debugging cleanup

13 years agoAdd vreg-conflicts and vreg-conflict-lifetimes to drop-asm-stats
Ben.Lippmeier@anu.edu.au [Mon, 20 Aug 2007 09:39:19 +0000 (09:39 +0000)]
Add vreg-conflicts and vreg-conflict-lifetimes to drop-asm-stats

13 years agoAdd vreg-population-lifetimes to drop-asm-stats
Ben.Lippmeier@anu.edu.au [Fri, 17 Aug 2007 16:22:54 +0000 (16:22 +0000)]
Add vreg-population-lifetimes to drop-asm-stats

13 years agoAdd dumping of native code gen stats to file.
Ben.Lippmeier@anu.edu.au [Fri, 17 Aug 2007 14:37:30 +0000 (14:37 +0000)]
Add dumping of native code gen stats to file.

Compiling module Foo with -ddrop-asm-stats produces a file
called Foo.dump-asm-stats which will contain increasingly
interesting information.

13 years agoRefactor dumping of register allocator statistics.
Ben.Lippmeier@anu.edu.au [Fri, 17 Aug 2007 12:15:57 +0000 (12:15 +0000)]
Refactor dumping of register allocator statistics.

13 years agoLinker.lhs to prefer DSO when it's build as dynamic library
Clemens Fruhwirth [Tue, 21 Aug 2007 10:34:51 +0000 (10:34 +0000)]
Linker.lhs to prefer DSO when it's build as dynamic library

13 years agoA partial attempt to improve :stepover
Pepe Iborra [Wed, 22 Aug 2007 09:08:44 +0000 (09:08 +0000)]
A partial attempt to improve :stepover

  With this patch, :stepover can effectively appear to step over recursive calls and
  calls to locally bound functions (in a where clause).

  However, when we run out of ticks in the current expression,
  the illusion vanishes and laziness brings us to the body of the last function
  we "stepped over".
  This is not desired at all, it is potentially very confusing.
  As a countermeasure, when this happens :stepover emits a warning

     "Warning: no more breakpoints in this function body, switching to :step"

13 years agoBetter document :stepover and its limitations
Pepe Iborra [Wed, 22 Aug 2007 08:42:54 +0000 (08:42 +0000)]
Better document :stepover and its limitations

:stepover only works lexically locally, in the context of the
current expression. I have tried to make this point clear
in the users guide with an example.

13 years agoSmall rearrangements
Pepe Iborra [Tue, 21 Aug 2007 12:15:16 +0000 (12:15 +0000)]
Small rearrangements

13 years agoExtend ModBreaks with the srcspan's of the enclosing expressions
Pepe Iborra [Tue, 21 Aug 2007 12:03:50 +0000 (12:03 +0000)]
Extend ModBreaks with the srcspan's of the enclosing expressions

13 years agoDoc for new manifest-related flags
Simon Marlow [Wed, 22 Aug 2007 08:40:26 +0000 (08:40 +0000)]
Doc for new manifest-related flags

13 years agoFIX #1271: create manifests, and embed them in executables on Windows
Simon Marlow [Fri, 10 Aug 2007 08:47:53 +0000 (08:47 +0000)]
FIX #1271: create manifests, and embed them in executables on Windows

We have 4 new flags:

  -fno-gen-manifest
     suppresses creation of foo.exe.manifest

  -fno-embed-manifest
     suppresses embedding of the manifest in the executable

  -pgmwindres
     specify a program to use instead of windres

  -optwindres
     extra options to pass to windres

"windres" is now copied from mingw and included in a binary
distribution.

13 years agoFIX #1427, #1569: gcc 4.2.x needs -fno-toplevel-reorder
Simon Marlow [Tue, 21 Aug 2007 15:15:53 +0000 (15:15 +0000)]
FIX #1427, #1569: gcc 4.2.x needs -fno-toplevel-reorder
We now have various flags that need to be passed to gcc, but only if
the local gcc version supports them.  So instead of wiring this
knowledge into ghc when it is built, we now put these "extra gcc
flags" into a text file in $libdir, extra-gcc-flags, which is created
by configure.  It is also created by the configure script of a binary
distribution, so a binary dist is independent of the gcc version used
to build it.

Hopefully I got the binary-dist stuff right, but binary dists aren't
currently working so we'll need to come back and check this.