ghc.git
11 years agofix to previous fix to THUNK_SELECTOR machinery 2007-09-25
Simon Marlow [Tue, 25 Sep 2007 13:26:00 +0000 (13:26 +0000)] 
fix to previous fix to THUNK_SELECTOR machinery
It turns out I didn't get it quite right in the case of compacting
collection.  This should make it work again.

11 years agoBe more specific about file-header pragmas
simonpj@microsoft.com [Mon, 24 Sep 2007 16:28:47 +0000 (16:28 +0000)] 
Be more specific about file-header pragmas

Document the rules for pragmas that must occur at the top of a file.

Please merge this patch

11 years agocomments only: point to relevant bug reports
Simon Marlow [Mon, 24 Sep 2007 10:33:23 +0000 (10:33 +0000)] 
comments only: point to relevant bug reports

11 years agoFIX #1038: failure of selector-thunk machinery to do its job
Simon Marlow [Mon, 17 Sep 2007 15:18:34 +0000 (15:18 +0000)] 
FIX #1038: failure of selector-thunk machinery to do its job
After a couple of abortive attempts, I think I've got this right.
When the GC sees a chain of the form

   snd (_, snd (_, snd (_, ...)))

it can now deal with an arbitrary nesting depth, whereas previously it
had a depth limit which was necessitated by the use of recursion.  Now
we chain all the selector thunks together in the heap, and go back and
update them all when we find the value at the end of the chain.

While I was here I removed some old cruft in eval_thunk_selector()
which was carefully manintaing invariants that aren't necessary any
more, the main one being that evacuate() can safely be passed a
to-space pointer now.

In addition to validate I've tested building a stage3 compiler with
and without +RTS -c, so I'm reasonably sure this is safe.

11 years agoattempt to fix #1391, hold locks across fork() and initialize them in the child
Simon Marlow [Fri, 14 Sep 2007 14:55:19 +0000 (14:55 +0000)] 
attempt to fix #1391, hold locks across fork() and initialize them in the child

11 years agoPut packages in ../$$pkgid not ../$$pkg
Ian Lynagh [Sun, 23 Sep 2007 20:49:40 +0000 (20:49 +0000)] 
Put packages in ../$$pkgid not ../$$pkg

11 years agoNotice when C modules have changed when deciding whether or not to link
Ian Lynagh [Sun, 23 Sep 2007 18:16:20 +0000 (18:16 +0000)] 
Notice when C modules have changed when deciding whether or not to link
Based on a patch from Lemmih

11 years agoWhitespace changes only
Ian Lynagh [Sun, 23 Sep 2007 17:42:42 +0000 (17:42 +0000)] 
Whitespace changes only

11 years agoRemove remaining bits of bindist "make in-place"
Ian Lynagh [Sun, 23 Sep 2007 16:36:40 +0000 (16:36 +0000)] 
Remove remaining bits of bindist "make in-place"

11 years agoAdd an entry for strings treated as ISO-8859-1 to the users guide bug list
Ian Lynagh [Sun, 23 Sep 2007 13:18:45 +0000 (13:18 +0000)] 
Add an entry for strings treated as ISO-8859-1 to the users guide bug list

11 years agoFix bug #1725 (Haddock links between packages)
sven.panne@aedion.de [Sun, 23 Sep 2007 12:06:36 +0000 (12:06 +0000)] 
Fix bug #1725 (Haddock links between packages)
Resolving this bug is a bit tricky, it boils down to the question: Should the
Haddock links between packages include the package version or not?

Pro: We can differentiate between various versions of the same package,
installed all at once. (How often does this really happen in practice?)

Cons: When package A refers to a package B, and B is later upgraded, links
in A's documentation will break. Furthermore, if an *additional* version of
B is installed, which version should A refer to?

Because IMHO it is not clear what to do when version numbers are included,
let's leave them out. If somebody has a better idea, feel free to submit a
better patch.

MERGE TO STABLE

11 years agoUnbreak "dist" target for fresh trees
sven.panne@aedion.de [Sun, 23 Sep 2007 09:43:58 +0000 (09:43 +0000)] 
Unbreak "dist" target for fresh trees
The previous hack to include Parser.hs in source distros broke the possibility
of doing a "make dist" in a fresh tree, i.e. one which has just been checked
out and configured, but *not* built. Of course you will need Happy for such a
source distro later, but at least the freedom to do this is important.

The ultimate goal should be that something like "make dist" will work in a
freshly checked out tree, with no prerequisite steps (this is very common in
most projects). We should move towards that goal, not away from it...

MERGE TO STABLE

11 years agomake stamp.inplace-gcc-lib copy $(LD) instead of $(GccDir)ld.exe to avoid building...
shelarcy [Thu, 20 Sep 2007 13:01:59 +0000 (13:01 +0000)] 
make stamp.inplace-gcc-lib copy $(LD) instead of $(GccDir)ld.exe to avoid building problem

11 years agoRemoved duplicate entry for derbugging flag -ddump-tc from the user guide
v.dijk.bas@gmail.com [Thu, 20 Sep 2007 12:13:06 +0000 (12:13 +0000)] 
Removed duplicate entry for derbugging flag -ddump-tc from the user guide

11 years agoFix building with compilers which don't have an integer for a patch level
Ian Lynagh [Fri, 21 Sep 2007 16:53:16 +0000 (16:53 +0000)] 
Fix building with compilers which don't have an integer for a patch level

11 years agoMove OPTIONS pragmas above comments
Ian Lynagh [Fri, 21 Sep 2007 16:35:52 +0000 (16:35 +0000)] 
Move OPTIONS pragmas above comments
Fixes building with -Werror (i.e. validate) and GHC < 6.6

11 years agomassive convulsion in ZipDataflow
Norman Ramsey [Fri, 21 Sep 2007 13:41:24 +0000 (13:41 +0000)] 
massive convulsion in ZipDataflow

After my talk, I got the idea of 'shallow rewriting' for the
dataflow framework.  Here it is implemented, along with
some related ideas late making Graph and not LGraph primary.

The only bad thing is that the whole bit is stitched together
out of ill-fitting pieces, kind of like Frankenstein's monster.
A new ZipDataflow will rise out of the ashes.

11 years agoincomplete start on set of intervals for stack model
Norman Ramsey [Fri, 21 Sep 2007 13:40:35 +0000 (13:40 +0000)] 
incomplete start on set of intervals for stack model

11 years agoSmall changes to mk-ing flow graphs
simonpj@microsoft.com [Wed, 19 Sep 2007 15:05:44 +0000 (15:05 +0000)] 
Small changes to mk-ing flow graphs

- ZipCfg: add mkBlockId :: Unique -> BlockId
- MkZipCfg: change sequence --> catAGrpahs
- MkZipCfgCmm: add mkCmmIfThen

Not fully validated, but I don't think anything will break

11 years agoMostly comments, following NR/SPJ meeting
simonpj@microsoft.com [Wed, 19 Sep 2007 15:03:45 +0000 (15:03 +0000)] 
Mostly comments, following NR/SPJ meeting

11 years agoRemove a redundant part of distrib/Makefile's "make install"
Ian Lynagh [Thu, 20 Sep 2007 18:39:03 +0000 (18:39 +0000)] 
Remove a redundant part of distrib/Makefile's "make install"

11 years agoFix Trac #1718: interaction of error, unlifted tuples, and casts
simonpj@microsoft.com [Thu, 20 Sep 2007 12:00:49 +0000 (12:00 +0000)] 
Fix Trac #1718: interaction of error, unlifted tuples, and casts

See Note [Float coercions (unlifted)] in Simplify

Test is simpl018

11 years agoHack to get haskell-src's Parser.hs into source distributions
Ian Lynagh [Wed, 19 Sep 2007 19:42:22 +0000 (19:42 +0000)] 
Hack to get haskell-src's Parser.hs into source distributions

11 years agoFix --print-docdir for relocatable builds; fixes #1226
Ian Lynagh [Wed, 19 Sep 2007 14:01:00 +0000 (14:01 +0000)] 
Fix --print-docdir for relocatable builds; fixes #1226

11 years agoUse $(RelocatableBuild) rather than $(Windows)
Ian Lynagh [Wed, 19 Sep 2007 14:00:37 +0000 (14:00 +0000)] 
Use $(RelocatableBuild) rather than $(Windows)

11 years agoFix exponential-time behaviour with type synonyms; rename -XPartiallyAppliedTypeSynon...
simonpj@microsoft.com [Wed, 19 Sep 2007 17:12:07 +0000 (17:12 +0000)] 
Fix exponential-time behaviour with type synonyms; rename -XPartiallyAppliedTypeSynonyms to -XLiberalTypeSynonyms

Fixes exponential behaviour present in GHC 6.6!

I renamed the flag because the old (not very old) name wasn't
describing what it does.

11 years agoFIX #1688: Givens in checkLoop are not that rigid after all
Manuel M T Chakravarty [Wed, 19 Sep 2007 15:07:38 +0000 (15:07 +0000)] 
FIX #1688: Givens in checkLoop are not that rigid after all
- This patch re-instates the policy of 6.6.1 to zonk the given constraints
  in the simplifier loop.

MERGE TO STABLE

11 years agoFIX #1713: watch out for type families in splitAppTy functions
Manuel M T Chakravarty [Wed, 19 Sep 2007 12:20:11 +0000 (12:20 +0000)] 
FIX #1713: watch out for type families in splitAppTy functions

  MERGE TO STABLE

11 years agoCatch any exceptions thrown by getEnv; fixes #1704
Ian Lynagh [Tue, 18 Sep 2007 21:57:52 +0000 (21:57 +0000)] 
Catch any exceptions thrown by getEnv; fixes #1704

11 years agoMake the error message mentioning -XPatternSignatures spell the flag correctly
simonpj@microsoft.com [Wed, 19 Sep 2007 14:28:21 +0000 (14:28 +0000)] 
Make the error message mentioning -XPatternSignatures spell the flag correctly

11 years agoGive Windows its own definitions of docdir (and htmldir etc)
Ian Lynagh [Tue, 18 Sep 2007 20:12:49 +0000 (20:12 +0000)] 
Give Windows its own definitions of docdir (and htmldir etc)

11 years agoInclude build.mk or validate{,-settings}.mk through custom-settings.mk
Ian Lynagh [Tue, 18 Sep 2007 20:06:37 +0000 (20:06 +0000)] 
Include build.mk or validate{,-settings}.mk through custom-settings.mk

11 years agoInstall extra-gcc-opts in bindists
Ian Lynagh [Tue, 18 Sep 2007 19:48:39 +0000 (19:48 +0000)] 
Install extra-gcc-opts in bindists

11 years agoAdd validate.mk to .darcs-boring
Ian Lynagh [Tue, 18 Sep 2007 18:45:09 +0000 (18:45 +0000)] 
Add validate.mk to .darcs-boring

11 years agoadd support for EM_AMD64 elf machine type, openbsd/amd64 ghci works
Don Stewart [Sun, 16 Sep 2007 03:48:45 +0000 (03:48 +0000)] 
add support for EM_AMD64 elf machine type, openbsd/amd64 ghci works

11 years agopatch Linker.c for amd64/openbsd
Don Stewart [Sun, 16 Sep 2007 01:27:28 +0000 (01:27 +0000)] 
patch Linker.c for amd64/openbsd

11 years agoMERGED: Another attempt at getting bindists working everywhere
Ian Lynagh [Tue, 18 Sep 2007 16:33:31 +0000 (16:33 +0000)] 
MERGED: Another attempt at getting bindists working everywhere
Ian Lynagh <igloo@earth.li>**20070916005328] {

11 years agoTune coalescing in non-iterative register allocator
Ben.Lippmeier@anu.edu.au [Mon, 17 Sep 2007 13:26:14 +0000 (13:26 +0000)] 
Tune coalescing in non-iterative register allocator

If iterative coalescing isn't turned on, then do a single aggressive
coalescing pass for the first build/color cycle and then back off to
conservative coalescing for subseqent passes.

Aggressive coalescing is a cheap way to eliminate lots of the reg-reg
moves, but it can make the graph less colorable - if we turn it on
for every pass then allocation for code with a large amount of register
pressure (ie SHA1) doesn't converge in a sensible number of cycles.

11 years agoBugfix to iterative coalescer
Ben.Lippmeier@anu.edu.au [Mon, 17 Sep 2007 12:42:41 +0000 (12:42 +0000)] 
Bugfix to iterative coalescer

Coalescences must be applied to the unsimplified graph in the same order
they were found by the iterative coalescing algorithm - otherwise
the vreg rewrite mapping will be wrong and badness will ensue.

11 years agoAdd -dasm-lint
Ben.Lippmeier@anu.edu.au [Mon, 17 Sep 2007 11:30:24 +0000 (11:30 +0000)] 
Add -dasm-lint

When -dasm-lint is turned on the register conflict graph is checked for
internal consistency after each build/color pass. Make sure that all
edges point to valid nodes, that nodes are colored differently to their
neighbours, and if the graph is supposed to be colored, that all nodes
actually have a color.

11 years agoCount CmmTops processed so far in the native code generator
Ben.Lippmeier@anu.edu.au [Fri, 14 Sep 2007 16:42:34 +0000 (16:42 +0000)] 
Count CmmTops processed so far in the native code generator
To help with debugging / nicer -ddump-asm-regalloc-stages

11 years agoChange spill cost function back to inverse length of live range.
Ben.Lippmeier@anu.edu.au [Fri, 14 Sep 2007 16:14:08 +0000 (16:14 +0000)] 
Change spill cost function back to inverse length of live range.

On further testing it turns out that using Chaitin's spill cost formula
of counting the number of uses of a var and then dividing by the degree
of the node isn't actually a win. Perhaps because this isn't counting
the number of actual spills inserted in the output code.

This would be worth revisiting if other work manages to increase the
register pressure in the native code.

11 years agoReplace missing '#' on options pragma
Ben.Lippmeier@anu.edu.au [Fri, 14 Sep 2007 09:43:20 +0000 (09:43 +0000)] 
Replace missing '#' on options pragma

11 years agoBetter cleaning of spills in spill cleaner
Ben.Lippmeier@anu.edu.au [Fri, 14 Sep 2007 09:39:07 +0000 (09:39 +0000)] 
Better cleaning of spills in spill cleaner

Track what slots each basic block reloads from. When cleaning spill
instructions we can use this information to decide whether the slot
spilled to will ever be read from on this path.

11 years agoadded node to push a closure onto the current call context
Norman Ramsey [Mon, 17 Sep 2007 17:29:39 +0000 (17:29 +0000)] 
added node to push a closure onto the current call context

11 years agotightened some dataflow code as part of preparing a talk
Norman Ramsey [Mon, 17 Sep 2007 16:17:15 +0000 (16:17 +0000)] 
tightened some dataflow code as part of preparing a talk

11 years agoadded 'filterRegsUsed' to CmmExpr
Norman Ramsey [Mon, 17 Sep 2007 16:16:34 +0000 (16:16 +0000)] 
added 'filterRegsUsed' to CmmExpr

11 years agoWriting out .tix file only if you are the original process, not a child.
andy@galois.com [Mon, 17 Sep 2007 23:06:41 +0000 (23:06 +0000)] 
Writing out .tix file only if you are the original process, not a child.
This lets us gain coverage on programs that use fork, like xmonad.

* To be merged to STABLE *

11 years agoremoving the functions hs_hpc_read and hs_hpc_write inside Hpc.c, they are dead code.
andy@galois.com [Mon, 17 Sep 2007 23:02:01 +0000 (23:02 +0000)] 
removing the functions hs_hpc_read and hs_hpc_write inside Hpc.c, they are dead code.

* To be merged to STABLE. *

11 years agoClean stage<n>/ghc-inplace.c
Ian Lynagh [Mon, 17 Sep 2007 09:43:00 +0000 (09:43 +0000)] 
Clean stage<n>/ghc-inplace.c

11 years agoComments only
simonpj@microsoft.com [Mon, 17 Sep 2007 16:11:33 +0000 (16:11 +0000)] 
Comments only

11 years agoLoosen the syntax of types slightly
simonpj@microsoft.com [Mon, 17 Sep 2007 16:07:08 +0000 (16:07 +0000)] 
Loosen the syntax of types slightly

This change allows you to write
f :: (Eq a) => (Ord b) => a -> b -> b
Previously you could only have a forall and context after '->'
but not after '=>' which is strange and inconsistent.

Making the parser a bit more generous didn't change the number
of shift/reduce conflicts.

tc236 tests.

11 years agoavoid platform dependencies: my_uintptr_t ==> StgWord
Simon Marlow [Mon, 17 Sep 2007 12:01:56 +0000 (12:01 +0000)] 
avoid platform dependencies: my_uintptr_t ==> StgWord

11 years agoFIX: TypeFamilies: should_compile/Simple12
Manuel M T Chakravarty [Sun, 16 Sep 2007 13:04:19 +0000 (13:04 +0000)] 
FIX: TypeFamilies: should_compile/Simple12
- checkTauTvUpdate now distinguishes between whether
  (1) a type variables occurs only in type family parameters
      (in which case unification is to be deferred)
  (2) other variable occurences
      (which case we fail with a cannot create infinite type message, as before)

11 years agoKeep valgrind happy when calling timer_create
sven.panne@aedion.de [Sun, 16 Sep 2007 11:19:27 +0000 (11:19 +0000)] 
Keep valgrind happy when calling timer_create
Fill all of the sigevent structure with zeroes before individual fields are
set. Although not strictly necessary, this keeps tools like valgrind from
complaining about passing uninitialized data, which is a good thing.

MERGE TO STABLE

11 years agoreloads are now sunk as deep as possible
Norman Ramsey [Sat, 15 Sep 2007 21:54:14 +0000 (21:54 +0000)] 
reloads are now sunk as deep as possible

11 years agoadded instance declarations so we can fold over local registers used in Middle and...
Norman Ramsey [Sat, 15 Sep 2007 21:53:37 +0000 (21:53 +0000)] 
added instance declarations so we can fold over local registers used in Middle and Last nodes

11 years agoadded monadic mapM_blocks. the fear, the fear...
Norman Ramsey [Sat, 15 Sep 2007 21:53:03 +0000 (21:53 +0000)] 
added monadic mapM_blocks.  the fear, the fear...

11 years agofix misspelled constructor
Norman Ramsey [Sat, 15 Sep 2007 21:52:38 +0000 (21:52 +0000)] 
fix misspelled constructor

11 years agoadd another way to run in the fuel monad (this is a mess right now)
Norman Ramsey [Sat, 15 Sep 2007 21:51:38 +0000 (21:51 +0000)] 
add another way to run in the fuel monad (this is a mess right now)

11 years agolay ground for more readable dumping of CmmGraph
Norman Ramsey [Sat, 15 Sep 2007 20:18:49 +0000 (20:18 +0000)] 
lay ground for more readable dumping of CmmGraph

11 years agoadd a function to help identify unique predecessors
Norman Ramsey [Sat, 15 Sep 2007 20:17:46 +0000 (20:17 +0000)] 
add a function to help identify unique predecessors

11 years agoscrub away remaining MidNop
Norman Ramsey [Sat, 15 Sep 2007 20:17:19 +0000 (20:17 +0000)] 
scrub away remaining MidNop

11 years agochanges needed to get map_blocks to actually compile :-(
Norman Ramsey [Sat, 15 Sep 2007 20:16:51 +0000 (20:16 +0000)] 
changes needed to get map_blocks to actually compile :-(

11 years agoremove an unwanted language extension
Norman Ramsey [Sat, 15 Sep 2007 20:15:25 +0000 (20:15 +0000)] 
remove an unwanted language extension

11 years agodrop the old, redundant implementation of postorder_dfs
Norman Ramsey [Sat, 15 Sep 2007 20:14:48 +0000 (20:14 +0000)] 
drop the old, redundant implementation of postorder_dfs

11 years agoeliminate the last vestige of UniqSM from ZipCfg
Norman Ramsey [Sat, 15 Sep 2007 20:14:14 +0000 (20:14 +0000)] 
eliminate the last vestige of UniqSM from ZipCfg

11 years agoadd map_blocks to ZipCfg
Norman Ramsey [Sat, 15 Sep 2007 20:13:55 +0000 (20:13 +0000)] 
add map_blocks to ZipCfg

11 years agoget rid of MidNop
Norman Ramsey [Sat, 15 Sep 2007 20:12:43 +0000 (20:12 +0000)] 
get rid of MidNop

11 years agoget freshBlockId out of ZipCfg and bury it in MkZipCfg where it belongs
Norman Ramsey [Sat, 15 Sep 2007 20:10:30 +0000 (20:10 +0000)] 
get freshBlockId out of ZipCfg and bury it in MkZipCfg where it belongs

11 years agoMake DESTDIR work again
sven.panne@aedion.de [Sun, 16 Sep 2007 08:43:39 +0000 (08:43 +0000)] 
Make DESTDIR work again
installPackage is a horror, using --force is probably not the perfect way
to make DESTDIR functionality work again, but given the current state of
affairs, I can't find a quick and clean solution.

MERGE TO STABLE

11 years agoResurrect the "lib" subdirectory in the installation tree, it was somehow lost
sven.panne@aedion.de [Sun, 16 Sep 2007 08:41:22 +0000 (08:41 +0000)] 
Resurrect the "lib" subdirectory in the installation tree, it was somehow lost
Having all package directory directly in the toplevel installation directory
would be a bad thing because of potential name clashes, and it wasn't done this
way earlier, so reinstantiate the old layout.

MERGE TO STABLE

11 years agoOverhaul of the rewrite rules
Manuel M T Chakravarty [Sat, 15 Sep 2007 07:41:19 +0000 (07:41 +0000)] 
Overhaul of the rewrite rules
- Cleaned up and simplified rules
- Added many missing cases
- The rules OccursCheck and swap have been eliminated and integrate with
  the other rules; ie, Subst and Unify perform the occurs check themselves
  and they can deal with left-to-right and right-to-left oriented rewrites.
  This makes the code simpler and more efficient.
- Also added comments.

11 years agoadded foldUFM_Directly, used where appropriate, killed all warnings
Norman Ramsey [Sat, 15 Sep 2007 19:06:17 +0000 (19:06 +0000)] 
added foldUFM_Directly, used where appropriate, killed all warnings

11 years ago(temporarily) check consistency of new postorder DFS no matter what DEBUG is
Norman Ramsey [Sat, 15 Sep 2007 13:39:04 +0000 (13:39 +0000)] 
(temporarily) check consistency of new postorder DFS no matter what DEBUG is

11 years agoWibbles to MkZipCfgCmm stuff
simonpj@microsoft.com [Fri, 14 Sep 2007 17:01:19 +0000 (17:01 +0000)] 
Wibbles to MkZipCfgCmm stuff

Watch out: I've added MkZipCfg.sequence, which clashes with the
Prelude (like some other names in MkZipCfg.  Maybe you can think
of a better name for it.

11 years agomake remove_entry_label actually work inside ZipDataflow
Norman Ramsey [Fri, 14 Sep 2007 14:54:35 +0000 (14:54 +0000)] 
make remove_entry_label actually work inside ZipDataflow

11 years agoexport 'entry' from ZipCfg, at least for now
Norman Ramsey [Fri, 14 Sep 2007 14:54:17 +0000 (14:54 +0000)] 
export 'entry' from ZipCfg, at least for now

11 years agoRemove export of remove_entry_label
simonpj@microsoft.com [Fri, 14 Sep 2007 13:52:11 +0000 (13:52 +0000)] 
Remove export of remove_entry_label

11 years agoreplace #ifdef DEBUG with debugIsOn in cmm/MkZipCfg
Norman Ramsey [Fri, 14 Sep 2007 13:42:02 +0000 (13:42 +0000)] 
replace #ifdef DEBUG with debugIsOn in cmm/MkZipCfg

11 years agonew signatures for splicing functions, new postorder_dfs
Norman Ramsey [Thu, 13 Sep 2007 17:36:53 +0000 (17:36 +0000)] 
new signatures for splicing functions, new postorder_dfs

11 years agotidying cmm/CmmSpillReload.hs
Norman Ramsey [Thu, 13 Sep 2007 17:35:12 +0000 (17:35 +0000)] 
tidying cmm/CmmSpillReload.hs

11 years agotidying cmm/CmmLiveZ.hs
Norman Ramsey [Thu, 13 Sep 2007 17:34:46 +0000 (17:34 +0000)] 
tidying cmm/CmmLiveZ.hs

11 years agoUnbreak "clean" and "distclean" targets when there is no testsuite
sven.panne@aedion.de [Sat, 15 Sep 2007 08:58:45 +0000 (08:58 +0000)] 
Unbreak "clean" and "distclean" targets when there is no testsuite

11 years agoUse sed to make stage-specific ghc-inplace.c's
Ian Lynagh [Fri, 14 Sep 2007 23:34:46 +0000 (23:34 +0000)] 
Use sed to make stage-specific ghc-inplace.c's
When trying to do it with -D we were having trouble getting the double
quotes through in all Windows configurations.

11 years agoFix copy+paste-o, spotted by Simon Marlow
Ian Lynagh [Fri, 14 Sep 2007 14:26:50 +0000 (14:26 +0000)] 
Fix copy+paste-o, spotted by Simon Marlow

11 years agoAdd documentation about -shared, shared library name mangling, and a xrefs
Clemens Fruhwirth [Fri, 14 Sep 2007 20:45:38 +0000 (20:45 +0000)] 
Add documentation about -shared, shared library name mangling, and a xrefs

11 years agodistclean: ghcprof-inplace
Simon Marlow [Fri, 14 Sep 2007 12:55:42 +0000 (12:55 +0000)] 
distclean: ghcprof-inplace

11 years agodistclean: <lib>/.depend[.bak]
Simon Marlow [Fri, 14 Sep 2007 12:55:32 +0000 (12:55 +0000)] 
distclean: <lib>/.depend[.bak]

11 years agodistclean: extra-gcc-opts, testsuite
Simon Marlow [Fri, 14 Sep 2007 12:54:44 +0000 (12:54 +0000)] 
distclean: extra-gcc-opts, testsuite

11 years agofix install-docs for non-html docs
Simon Marlow [Fri, 14 Sep 2007 09:37:38 +0000 (09:37 +0000)] 
fix install-docs for non-html docs

11 years agoRefer to "boot" libs, not "core" libs
Ian Lynagh [Fri, 14 Sep 2007 13:26:58 +0000 (13:26 +0000)] 
Refer to "boot" libs, not "core" libs

11 years agoGive darcs-all a -s (silent) flag
Ian Lynagh [Thu, 13 Sep 2007 20:23:30 +0000 (20:23 +0000)] 
Give darcs-all a -s (silent) flag

11 years agowarning police
Ben.Lippmeier@anu.edu.au [Thu, 13 Sep 2007 16:14:43 +0000 (16:14 +0000)] 
warning police

11 years agoBetter calculation of spill costs / selection of spill candidates.
Ben.Lippmeier@anu.edu.au [Thu, 13 Sep 2007 15:54:07 +0000 (15:54 +0000)] 
Better calculation of spill costs / selection of spill candidates.

Use Chaitin's formula for calculation of spill costs.
  Cost to spill some vreg = (num writes + num reads) / degree of node

With 2 extra provisos:
  1) Don't spill vregs that live for only 1 instruction.
  2) Always prefer to spill vregs that live for a number of instructions
       more than 10 times the number of vregs in that class.

Proviso 2 is there to help deal with basic blocks containing very long
live ranges - SHA1 has live ranges > 1700 instructions. We don't ever
try to keep these long lived ranges in regs at the expense of others.

Because stack slots are allocated from a global pool, and there is no
slot coalescing yet, without this condition the allocation of SHA1 dosn't
converge fast enough and eventually runs out of stack slots.

Prior to this patch we were just choosing to spill the range with the
longest lifetime, so we didn't bump into this particular problem.

11 years agocomment wibbles
Ben.Lippmeier@anu.edu.au [Wed, 12 Sep 2007 16:07:59 +0000 (16:07 +0000)] 
comment wibbles

11 years agoBump version number 6.7 -> 6.9
Ian Lynagh [Thu, 13 Sep 2007 18:17:33 +0000 (18:17 +0000)] 
Bump version number 6.7 -> 6.9

11 years agoMore library installation path fiddling
Ian Lynagh [Thu, 13 Sep 2007 17:42:42 +0000 (17:42 +0000)] 
More library installation path fiddling

11 years agolibsubdir for libraries is now always $$pkgid
Ian Lynagh [Thu, 13 Sep 2007 17:39:26 +0000 (17:39 +0000)] 
libsubdir for libraries is now always $$pkgid

11 years agoDefine RelocatableBuild variable
Ian Lynagh [Thu, 13 Sep 2007 15:53:31 +0000 (15:53 +0000)] 
Define RelocatableBuild variable
default YES on Windows, NO otherwise.