Simon Marlow [Wed, 12 Sep 2007 20:00:57 +0000 (20:00 +0000)]
export stopTimer(), we need this in the unix package
Simon Marlow [Wed, 12 Sep 2007 11:41:10 +0000 (11:41 +0000)]
move generic graph-colouring code into util
It is needed by cmm/StackColor, and hence is needed even when there is no
native code generator.
Norman Ramsey [Wed, 12 Sep 2007 16:58:51 +0000 (16:58 +0000)]
remove remaining redundancies from ZipCfgCmmRep
-- LastBranch no longer takes parameters
-- LastJump and LastReturn no longer carry CmmActuals;
instead, those are carried by a CopyOut in the same basic block
v.dijk.bas@gmail.com [Wed, 12 Sep 2007 14:33:46 +0000 (14:33 +0000)]
Forgot to import Data.List.find
Ian Lynagh [Wed, 12 Sep 2007 16:22:00 +0000 (16:22 +0000)]
Remove warning flags from individual compiler modules
We now set the flags once and for all in compiler/Makefile.
Ian Lynagh [Wed, 12 Sep 2007 14:07:43 +0000 (14:07 +0000)]
Give push-all the ability to pull with a --pull flag
OK, so the name is a bit wrong now...
Ian Lynagh [Wed, 12 Sep 2007 13:54:07 +0000 (13:54 +0000)]
Handle doc-index*.html, not just doc-index.html
haddock sometimes makes doc-index-A.html etc files. Not sure why it
doesn't for me.
Patch from Judah Jacobson.
Ian Lynagh [Wed, 12 Sep 2007 11:39:54 +0000 (11:39 +0000)]
Fix installation code
Ian Lynagh [Tue, 11 Sep 2007 22:47:34 +0000 (22:47 +0000)]
Further tweaking of haddock doc installation
On Windows we now always use a path beginning $topdir/ so bindists are
relocatable.
We also now tell "Setup configure" where we are putting the
documentation, and tell installPackage to override as little as
possible.
Ian Lynagh [Tue, 11 Sep 2007 20:22:02 +0000 (20:22 +0000)]
make in-place has bitrotted, so don't advertise or support it
Ian Lynagh [Mon, 3 Sep 2007 15:54:16 +0000 (15:54 +0000)]
TAG ghc-6.8 branched 2007-09-03
judah.jacobson@gmail.com [Fri, 7 Sep 2007 21:16:16 +0000 (21:16 +0000)]
Fix repeated section name in documentation.
Clemens Fruhwirth [Wed, 12 Sep 2007 17:11:26 +0000 (17:11 +0000)]
Clean ups for multi-way building of the GHC package
Norman Ramsey [Wed, 12 Sep 2007 15:38:52 +0000 (15:38 +0000)]
change the zipper representation of calls
This patch combines two changes:
1. As requested by SimonPJ, the redundancy inherent in having
LastCall bear actual parameters has been removed. The actual
parameters are now carried by a separate CopyOut node.
2. The internal (to zipper) representation of calls has changed;
the representation of calling conventions is more orthogonal,
and there is now no such thing as a 'safe' or 'final' call
to a CallishMachOp. This change has affected the interface
to MkZipCfgCmm, which now provides a static guarantee. Simon's
new upstream code will be affected; I've patched the existing
code in CmmCvt (which becomes ever hairier).
Norman Ramsey [Wed, 12 Sep 2007 15:25:02 +0000 (15:25 +0000)]
make it easier to have debugging code typechecked even when debugging is turned off
Norman Ramsey [Wed, 12 Sep 2007 10:25:45 +0000 (10:25 +0000)]
fix a typo!
Norman Ramsey [Wed, 12 Sep 2007 10:25:26 +0000 (10:25 +0000)]
cleaned up all warnings (and added many type signatures) in Outputable
Norman Ramsey [Wed, 12 Sep 2007 09:39:20 +0000 (09:39 +0000)]
overlooked ZipCfgExtras for a name change
Norman Ramsey [Wed, 12 Sep 2007 09:38:44 +0000 (09:38 +0000)]
extra prettyprinting only when debugging
Norman Ramsey [Tue, 11 Sep 2007 22:55:42 +0000 (22:55 +0000)]
renaming, reorganizing, and better doco for ZipCfg
Simon Marlow [Wed, 12 Sep 2007 11:16:58 +0000 (11:16 +0000)]
esacpe backslashes in the filename in the .rc file
Clemens Fruhwirth [Fri, 31 Aug 2007 10:46:24 +0000 (10:46 +0000)]
Remove --export-all-symbols for DLL linking, it is default and prevents us from using .def files
Clemens Fruhwirth [Mon, 6 Aug 2007 08:51:20 +0000 (08:51 +0000)]
Call windres with explicit preprocessor path in case gcc is not in $PATH
Clemens Fruhwirth [Mon, 6 Aug 2007 08:45:24 +0000 (08:45 +0000)]
Weak.c incorrectly claims it's being compiled along RTS Main.c
Clemens Fruhwirth [Wed, 12 Sep 2007 09:44:30 +0000 (09:44 +0000)]
Sign extension hack to work around PC64 relocation limitation for binutils <2.17 for x86_64.
binutils <2.17 can't generate PC64 relocations for x86_64. Hence we
emit only 32 bit PC relative offsets, and artifically stick a zero in
front of them to make them 64 bit (see PprMach.sh ppr_item in
pprDataItem). This works as long as the offset is <32bit AND it's
positive. This is not the case for offsets in jump tables, they are
all negative. This hack sign extends them with a MOVSXL instruction
into the dead index register, then adding the properly sign extended
offset to the jump table base label giving the correct target address
for the following jump.
Simon Marlow [Wed, 12 Sep 2007 11:09:09 +0000 (11:09 +0000)]
foldl1' was added to Data.List in GHC 6.4.x
Simon Marlow [Wed, 12 Sep 2007 10:43:12 +0000 (10:43 +0000)]
update .hi-boot-6 to track .lhs-boot
Simon Marlow [Wed, 12 Sep 2007 10:34:17 +0000 (10:34 +0000)]
update to track .lhs-boot file
Pepe Iborra [Tue, 11 Sep 2007 18:04:11 +0000 (18:04 +0000)]
Refactoring & documenting the Term pprinter used by :print
Pepe Iborra [Tue, 11 Sep 2007 15:14:54 +0000 (15:14 +0000)]
Custom printer for the Term datatype that won't output TypeRep values
The term pretty printer used by :print shouldn't output
the contents of TypeRep values, e.g. inside Dynamic values
Ben.Lippmeier@anu.edu.au [Tue, 11 Sep 2007 17:38:33 +0000 (17:38 +0000)]
Try and rewrite reloads to reg-reg moves in the spill cleaner
Manuel M T Chakravarty [Wed, 12 Sep 2007 01:04:58 +0000 (01:04 +0000)]
Fix type error in MkZipCfg
- Fixes a bug introduced with the patch named
'check for unreachable code only with -DDEBUG'
- Breakage occured only without -DDEBUG (which is 'valdiate's default!)
Norman Ramsey [Tue, 11 Sep 2007 15:45:33 +0000 (15:45 +0000)]
scrape some unused barnacles off of ZipCfg and put them into ZipCfgExtras
Norman Ramsey [Tue, 11 Sep 2007 15:06:35 +0000 (15:06 +0000)]
split the CmmGraph constructor interface from the representation
Interface MkZipCfgCmm should now be sufficient for all construction
needs, though some identifiers are re-exported from (and explained in)
MkZipCfg. ZipCfgCmmRep should be used only by modules involved in
analysis, optimization, or translation of Cmm programs.
Norman Ramsey [Tue, 11 Sep 2007 14:29:14 +0000 (14:29 +0000)]
correct two single-identifier bugs that stopped the Adams optimization from working
Norman Ramsey [Tue, 11 Sep 2007 14:27:01 +0000 (14:27 +0000)]
default ppr method for CmmGraph now tells more about the representation
(Previously, ppr had tried to make the zipper representation look as
much like the ListGraph representation as possible. This decision was
unhelpful for debugging, so although the old code has been retained,
the new default is to tell it like it is. It may be possible to
retire PprCmmZ one day, although it may be desirable to retain it as
the internal form becomes less readable.
Norman Ramsey [Tue, 11 Sep 2007 14:25:35 +0000 (14:25 +0000)]
prettyprint 'hinted' things in a more readable way
Norman Ramsey [Tue, 11 Sep 2007 14:24:10 +0000 (14:24 +0000)]
check for unreachable code only with -DDEBUG
Norman Ramsey [Tue, 11 Sep 2007 14:23:38 +0000 (14:23 +0000)]
add a big diagnostic for failures in CmmCvt.toZgraph
Ben.Lippmeier@anu.edu.au [Tue, 11 Sep 2007 15:12:11 +0000 (15:12 +0000)]
Don't try and coalesce nodes with themselves
Ben.Lippmeier@anu.edu.au [Tue, 11 Sep 2007 14:50:54 +0000 (14:50 +0000)]
Try and allocate vregs spilled/reloaded from some slot to the same hreg
Ben.Lippmeier@anu.edu.au [Tue, 11 Sep 2007 13:02:47 +0000 (13:02 +0000)]
Better handling of live range joins via spill slots in spill cleaner
Ben.Lippmeier@anu.edu.au [Mon, 10 Sep 2007 16:29:09 +0000 (16:29 +0000)]
Make sure to coalesce all the nodes found during iterative scanning
Ben.Lippmeier@anu.edu.au [Fri, 7 Sep 2007 17:23:15 +0000 (17:23 +0000)]
Add iterative coalescing to graph coloring allocator
Iterative coalescing interleaves conservative coalesing with the regular
simplify/scan passes. This increases the chance that nodes will be coalesced
as they will have a lower degree than at the beginning of simplify. The end
result is that more register to register moves will be eliminated in the
output code, though the iterative nature of the algorithm makes it slower
compared to non-iterative coloring.
Use -fregs-iterative for graph coloring allocation with iterative coalescing
-fregs-graph for non-iterative coalescing.
The plan is for iterative coalescing to be enabled with -O2 and have a
quicker, non-iterative algorithm otherwise. The time/benefit tradeoff
between iterative and not is still being tuned - optimal graph coloring
is NP-hard, afterall..
Pepe Iborra [Tue, 11 Sep 2007 15:14:54 +0000 (15:14 +0000)]
Custom printer for the Term datatype that won't output TypeRep values
The term pretty printer used by :print shouldn't output
the contents of TypeRep values, e.g. inside Dynamic values
Simon Marlow [Tue, 11 Sep 2007 13:02:28 +0000 (13:02 +0000)]
FIX #1466 (partly), which was causing concprog001(ghci) to fail
An AP_STACK now ensures that there is at least AP_STACK_SPLIM words of
stack headroom available after unpacking the payload. Continuations
that require more than AP_STACK_SPLIM words of stack must do their own
stack checks instead of aggregating their stack usage into the parent
frame. I have made this change for the interpreter, but not for
compiled code yet - we should do this in the glorious rewrite of the
code generator.
Pepe Iborra [Tue, 11 Sep 2007 11:32:12 +0000 (11:32 +0000)]
Fix type signatures
Pepe Iborra [Tue, 11 Sep 2007 10:19:44 +0000 (10:19 +0000)]
Documentation for -fbreak-on-error
Pepe Iborra [Tue, 11 Sep 2007 10:14:43 +0000 (10:14 +0000)]
GHCi debugger: new flag -fbreak-on-error
This flag works like -fbreak-on-exception, but only stops
on uncaught exceptions.
Pepe Iborra [Fri, 7 Sep 2007 13:58:57 +0000 (13:58 +0000)]
Remove obsolete -fdebugging flag
A left over from the 1st GHCi debugger prototype
Simon Marlow [Mon, 10 Sep 2007 14:57:47 +0000 (14:57 +0000)]
refactoring: eliminate DriverPipeline.CompResult and GHC.upsweep_compile
Simon Marlow [Mon, 10 Sep 2007 14:57:18 +0000 (14:57 +0000)]
refactoring: inline hscMkCompiler
Simon Marlow [Tue, 11 Sep 2007 08:54:52 +0000 (08:54 +0000)]
FIX #1677; poor error message for misspelled module declaration
sven.panne@aedion.de [Tue, 11 Sep 2007 07:18:01 +0000 (07:18 +0000)]
Synched documentation links with current directory layout
Somehow the "html" subdirs are gone, this change was not completely
intentional, but it is nice, anyway. Those subdirs never served any
real purpose...
MERGE TO STABLE
Ian Lynagh [Mon, 10 Sep 2007 13:35:28 +0000 (13:35 +0000)]
Add a BeConservative setting to the make system
If it is set, we don't try to use clock_gettime
Pepe Iborra [Mon, 10 Sep 2007 14:53:19 +0000 (14:53 +0000)]
Nicer GHCi debugger underlining
Improved the underlining of blocks.
With this patch it does:
Stopped at break020.hs:(6,20)-(7,29)
_result :: t1 () = _
5
vv
6 in_another_decl _ = do line1 0
7 line2 0
^^
8
Instead of
Stopped at break020.hs:(6,20)-(7,29)
_result :: t1 () = _
5
6 in_another_decl _ = do line1 0
^^
7 line2 0
^^
8
Pepe Iborra [Mon, 10 Sep 2007 14:21:29 +0000 (14:21 +0000)]
FIX #1669 (GHCi debugger underlining is in the wrong place)
We weren't taking into account the offset added by the line numbers:
Stopped at break020.hs:10:2-8
_result :: IO () = _
9 main = do
10 line1 0
^^^^^^^
11 line2 0
This patch adjusts that
Ian Lynagh [Mon, 10 Sep 2007 12:27:56 +0000 (12:27 +0000)]
Turn off orphan warnings
We also avoid using -fno-warn-orphans with older GHCs that don't understand
the flag.
Ian Lynagh [Fri, 7 Sep 2007 21:22:08 +0000 (21:22 +0000)]
Add some more bits to the boring file
Ian Lynagh [Fri, 7 Sep 2007 18:19:44 +0000 (18:19 +0000)]
Add a --names-only flag for list --simple-output
We use this in the testsuite to find out which libraries we should run
the tests from.
Simon Marlow [Mon, 10 Sep 2007 10:38:30 +0000 (10:38 +0000)]
FIX #903: mkWWcpr: not a product
This fixes the long-standing bug that prevents some code with
mutally-recursive modules from being compiled with --make and -O,
including GHC itself. See the comments for details.
There are some additional cleanups that were forced/enabled by this
patch: I removed importedSrcLoc/importedSrcSpan: it wasn't adding any
useful information, since a Name already contains its defining Module.
In fact when re-typechecking an interface file we were wrongly
replacing the interesting SrcSpans in the Names with boring
importedSrcSpans, which meant that location information could degrade
after reloading modules. Also, recreating all these Names was a waste
of space/time.
Manuel M T Chakravarty [Mon, 10 Sep 2007 08:34:57 +0000 (08:34 +0000)]
Cleaned up version of Tom's unflattened skolemOccurs
sven.panne@aedion.de [Mon, 10 Sep 2007 06:57:59 +0000 (06:57 +0000)]
The RTS is Haddock-less, tell make about it
MERGE TO STABLE
sven.panne@aedion.de [Sun, 9 Sep 2007 15:40:53 +0000 (15:40 +0000)]
Include package documentation, n-th attempt...
MERGE TO STABLE
sven.panne@aedion.de [Sun, 9 Sep 2007 12:49:22 +0000 (12:49 +0000)]
Yet another attempt to get the paths for the installed documentation correct
MERGE TO STABLE
sven.panne@aedion.de [Sun, 9 Sep 2007 12:38:13 +0000 (12:38 +0000)]
Add a "show" target here, too, quite useful for debugging the build process
MERGE TO STABLE
sven.panne@aedion.de [Sun, 9 Sep 2007 12:34:01 +0000 (12:34 +0000)]
Never try to build Haddock docs in ghc/compiler, even with HADDOCK_DOCS=YES
MERGE TO STABLE
sven.panne@aedion.de [Sun, 9 Sep 2007 12:11:57 +0000 (12:11 +0000)]
Removed install-dirs target, it is unnecessary and leads to stray empty directories
MERGE TO STABLE
sven.panne@aedion.de [Sun, 9 Sep 2007 10:28:15 +0000 (10:28 +0000)]
Removed install-dirs from phony targets, it is unused
MERGE TO STABLE
Ian Lynagh [Sat, 8 Sep 2007 23:10:24 +0000 (23:10 +0000)]
Add a crucial missing ;
Norman Ramsey [Sat, 8 Sep 2007 15:51:41 +0000 (15:51 +0000)]
implement the outOfLine primitive in MkZipCfg (proposed as mkBlock)
Norman Ramsey [Fri, 7 Sep 2007 17:20:30 +0000 (17:20 +0000)]
withUnique and mkBlock as requested by SLPJ (but only one is implemented)
Norman Ramsey [Fri, 7 Sep 2007 17:08:43 +0000 (17:08 +0000)]
no registers are available after a call
Norman Ramsey [Fri, 7 Sep 2007 16:59:55 +0000 (16:59 +0000)]
wrote an analysis to help in sinking Reload instructions
sven.panne@aedion.de [Sat, 8 Sep 2007 14:27:12 +0000 (14:27 +0000)]
We seem to use Outputable unconditionally these days
MERGE TO STABLE
sven.panne@aedion.de [Sat, 8 Sep 2007 13:18:09 +0000 (13:18 +0000)]
Removed setting of default values for variables which are never empty
The standard autoconf variables like prefix, exec_prefix, ... are always set by
configure, so there is no need to provide explicit defaults in the Makefile.
The lines were introduced about a decade ago, perhaps there were some bugs in
ancient autoconfs, but today I can't think of a reason why this should be still
necessary.
sven.panne@aedion.de [Sat, 8 Sep 2007 12:46:45 +0000 (12:46 +0000)]
Use := for PACKAGE_TARNAME, no reason for not doing so
MERGE TO STABLE
sven.panne@aedion.de [Sat, 8 Sep 2007 12:44:48 +0000 (12:44 +0000)]
Removed unused oldincludedir, things are already complicated enough
MERGE TO STABLE
sven.panne@aedion.de [Sat, 8 Sep 2007 12:33:17 +0000 (12:33 +0000)]
Added comment about GNU coding standards/autoconf history
MERGE TO STABLE
andy@galois.com [Sat, 8 Sep 2007 05:53:20 +0000 (05:53 +0000)]
Fixing Hpc's Finite Map compat lib for ghc 6.2.1
andy@galois.com [Sat, 8 Sep 2007 05:16:00 +0000 (05:16 +0000)]
updating hpc toolkit
The hpc overlay has been ported from hpc-0.4
The new API for readMix is now used.
andy@galois.com [Fri, 7 Sep 2007 22:33:57 +0000 (22:33 +0000)]
Fixing hpc to allow use of hash function to seperate source files on source path
Ian Lynagh [Sat, 8 Sep 2007 00:31:12 +0000 (00:31 +0000)]
Make various assertions work when !DEBUG
Ian Lynagh [Fri, 7 Sep 2007 23:33:30 +0000 (23:33 +0000)]
Fix assertions in RtClosureInspect
Ian Lynagh [Fri, 7 Sep 2007 23:33:24 +0000 (23:33 +0000)]
In ASSERT and friends, use all the expressions we are passed even if !DEBUG
Otherwise we may get unused variable warnings. GHC should optimise them
all out for us.
Ian Lynagh [Fri, 7 Sep 2007 21:00:37 +0000 (21:00 +0000)]
Don't put directories for unbuildable libraries in bindists
We think there is a library there, and then installPackage fails to
install it.
Norman Ramsey [Fri, 7 Sep 2007 16:12:46 +0000 (16:12 +0000)]
a good deal of salutory renaming
I've renamed a number of type and data constructors within Cmm so that
the names used in the compiler may more closely reflect the C--
specification 2.1. I've done a bit of other renaming as well.
Highlights:
CmmFormal and CmmActual now bear a CmmKind (which for now is a
MachHint as before)
CmmFormals = [CmmFormal] and CmmActuals = [CmmActual]
suitable changes have been made to both code and nonterminals in the
Cmm parser (which is as yet untested)
For reasons I don't understand, parts of the code generator use a
sequence of 'formal parameters' with no C-- kinds. For these we now
have the types
type CmmFormalWithoutKind = LocalReg
type CmmFormalsWithoutKinds = [CmmFormalWithoutKind]
A great many appearances of (Tau, MachHint) have been simplified to
the appropriate CmmFormal or CmmActual, though I'm sure there are
more opportunities.
Kind and its data constructors are now renamed to
data GCKind = GCKindPtr | GCKindNonPtr
to avoid confusion with the Kind used in the type checker and with CmmKind.
Finally, in a somewhat unrelated bit (and in honor of Simon PJ, who
thought of the name), the Whalley/Davidson 'transaction limit' is now
called 'OptimizationFuel' with the net effect that there are no longer
two unrelated uses of the abbreviation 'tx'.
Manuel M T Chakravarty [Fri, 7 Sep 2007 12:11:13 +0000 (12:11 +0000)]
Made TcTyFuns warning clean
Tom Schrijvers [Thu, 6 Sep 2007 17:17:03 +0000 (17:17 +0000)]
fix for Simple9
No longer include non-indexed arguments
in lookup of matching type function clause.
By including non-indexed (additional) arguments,
the lookup always fails.
Manuel M T Chakravarty [Fri, 7 Sep 2007 10:19:01 +0000 (10:19 +0000)]
Improved error messages for higher-rank equality contexts
Manuel M T Chakravarty [Fri, 7 Sep 2007 09:22:17 +0000 (09:22 +0000)]
FIX: Type families test Simple14
Norman Ramsey [Fri, 7 Sep 2007 13:24:42 +0000 (13:24 +0000)]
refactor duplicated code in main/HscMain
I kept making mistakes because all the ZipCfg and CPS stuff
was called from two different places (compiling Haskell and
compiling Cmm). Now it is called from a single place, and therefore
successfully turned off by default.
I still don't know why turning it on causes rts/Apply.cmm not to
compile; that development is new since yesterday.
Norman Ramsey [Fri, 7 Sep 2007 13:24:17 +0000 (13:24 +0000)]
in CmmExpr, always have (Show GlobalReg), regardless of DEBUG setting
Ian Lynagh [Fri, 7 Sep 2007 12:28:47 +0000 (12:28 +0000)]
Rejig boot
find on Windows doesn't understand -L, so stop trying to be clever and
just autoreconf everything.
Also, print out the names of directories as we autoreconf them, so that
if autoreconfing one breaks then we know which one it was.
Ian Lynagh [Fri, 7 Sep 2007 12:14:14 +0000 (12:14 +0000)]
Fix publishing
Paths like c:/foo/bar get misinterpreted by rsync (really SSH?), as it
thinks we want /foo/bar on the machine c.
Ian Lynagh [Thu, 6 Sep 2007 19:57:37 +0000 (19:57 +0000)]
Fix building with old compilers which don't understand -fno-warn-orphans
simonpj@microsoft.com [Fri, 7 Sep 2007 10:11:33 +0000 (10:11 +0000)]
Tiny optimisation/simplification to FunDeps.grow
simonpj@microsoft.com [Fri, 7 Sep 2007 10:11:03 +0000 (10:11 +0000)]
Warning police
simonpj@microsoft.com [Fri, 7 Sep 2007 10:10:46 +0000 (10:10 +0000)]
Add clarifying comments
simonpj@microsoft.com [Thu, 6 Sep 2007 09:03:46 +0000 (09:03 +0000)]
Fix zonking in mkExports
I'd missed zonk, so that an error message for missing type signature
read (unhelpfully)
main/GHC.hs:1070:0:
Warning: Definition but no type signature for `upsweep''
Inferred type: upsweep' :: forall t1. t
The trouble was that 't' hadn't been zonked.
Push to the stable branch