diff options
author | Ben.Lippmeier@anu.edu.au <unknown> | 2009-09-17 09:07:30 +0000 |
---|---|---|
committer | Ben.Lippmeier@anu.edu.au <unknown> | 2009-09-17 09:07:30 +0000 |
commit | e17cf7ff32778f4e6b3622855f25426251e843d6 (patch) | |
tree | 8d8617c94d40157656d28c675119190eca0f838e /compiler/nativeGen/RegAlloc/Graph/Main.hs | |
parent | 028c032b60567b8cd501e9d7248e4aa86088a19b (diff) | |
download | haskell-e17cf7ff32778f4e6b3622855f25426251e843d6.tar.gz |
NCG: Refactor representation of code with liveness info
* I've pushed the SPILL and RELOAD instrs down into the
LiveInstr type to make them easier to work with.
* When the graph allocator does a spill cycle it now just
re-annotates the LiveCmmTops instead of converting them
to NatCmmTops and back.
* This saves working out the SCCS again, and avoids rewriting
the SPILL and RELOAD meta instructions into real machine
instructions.
Diffstat (limited to 'compiler/nativeGen/RegAlloc/Graph/Main.hs')
-rw-r--r-- | compiler/nativeGen/RegAlloc/Graph/Main.hs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/nativeGen/RegAlloc/Graph/Main.hs b/compiler/nativeGen/RegAlloc/Graph/Main.hs index 40c3c00e5f..093c21159f 100644 --- a/compiler/nativeGen/RegAlloc/Graph/Main.hs +++ b/compiler/nativeGen/RegAlloc/Graph/Main.hs @@ -211,8 +211,8 @@ regAlloc_spin <- regSpill code_coalesced slotsFree rsSpill -- recalculate liveness - let code_nat = map stripLive code_spilled - code_relive <- mapM regLiveness code_nat +-- let code_nat = map stripLive code_spilled + code_relive <- mapM regLiveness code_spilled -- record what happened in this stage for debugging let stat = |