- 18 Sep, 2007 2 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 16 Sep, 2007 2 commits
-
-
Don Stewart authored
-
Don Stewart authored
-
- 18 Sep, 2007 1 commit
-
-
Ian Lynagh authored
Ian Lynagh <igloo@earth.li>**20070916005328] {
-
- 17 Sep, 2007 3 commits
-
-
Ben.Lippmeier@anu.edu.au authored
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.
-
Ben.Lippmeier@anu.edu.au authored
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.
-
Ben.Lippmeier@anu.edu.au authored
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.
-
- 14 Sep, 2007 4 commits
-
-
Ben.Lippmeier@anu.edu.au authored
To help with debugging / nicer -ddump-asm-regalloc-stages
-
Ben.Lippmeier@anu.edu.au authored
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.
-
Ben.Lippmeier@anu.edu.au authored
-
Ben.Lippmeier@anu.edu.au authored
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.
-
- 17 Sep, 2007 9 commits
-
-
nr@eecs.harvard.edu authored
-
nr@eecs.harvard.edu authored
-
nr@eecs.harvard.edu authored
-
andy@galois.com authored
This lets us gain coverage on programs that use fork, like xmonad. * To be merged to STABLE *
-
andy@galois.com authored
* To be merged to STABLE. *
-
Ian Lynagh authored
-
simonpj@microsoft.com authored
-
simonpj@microsoft.com authored
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.
-
Simon Marlow authored
-
- 16 Sep, 2007 2 commits
-
-
chak@cse.unsw.edu.au. authored
- 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)
-
sven.panne@aedion.de authored
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
-
- 15 Sep, 2007 15 commits
-
-
nr@eecs.harvard.edu authored
-
nr@eecs.harvard.edu authored
-
nr@eecs.harvard.edu authored
-
nr@eecs.harvard.edu authored
-
nr@eecs.harvard.edu authored
-
nr@eecs.harvard.edu authored
-
nr@eecs.harvard.edu authored
-
nr@eecs.harvard.edu authored
-
nr@eecs.harvard.edu authored
-
nr@eecs.harvard.edu authored
-
nr@eecs.harvard.edu authored
-
nr@eecs.harvard.edu authored
-
nr@eecs.harvard.edu authored
-
nr@eecs.harvard.edu authored
-
nr@eecs.harvard.edu authored
-
- 16 Sep, 2007 2 commits
-
-
sven.panne@aedion.de authored
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
-
sven.panne@aedion.de authored
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
-