- 20 Sep, 2007 2 commits
-
-
shelarcy authored
-
v.dijk.bas@gmail.com authored
-
- 21 Sep, 2007 4 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
Fixes building with -Werror (i.e. validate) and GHC < 6.6
-
nr@eecs.harvard.edu authored
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.
-
nr@eecs.harvard.edu authored
-
- 19 Sep, 2007 2 commits
-
-
simonpj@microsoft.com authored
- ZipCfg: add mkBlockId :: Unique -> BlockId - MkZipCfg: change sequence --> catAGrpahs - MkZipCfgCmm: add mkCmmIfThen Not fully validated, but I don't think anything will break
-
simonpj@microsoft.com authored
-
- 20 Sep, 2007 2 commits
-
-
Ian Lynagh authored
-
simonpj@microsoft.com authored
See Note [Float coercions (unlifted)] in Simplify Test is simpl018
-
- 19 Sep, 2007 6 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
simonpj@microsoft.com authored
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.
-
chak@cse.unsw.edu.au. authored
- This patch re-instates the policy of 6.6.1 to zonk the given constraints in the simplifier loop. MERGE TO STABLE
-
chak@cse.unsw.edu.au. authored
MERGE TO STABLE
-
- 18 Sep, 2007 1 commit
-
-
Ian Lynagh authored
-
- 19 Sep, 2007 1 commit
-
-
simonpj@microsoft.com authored
-
- 18 Sep, 2007 4 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
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 8 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.
-