projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1c0deb5
)
NCG: Do the actual reversing of SCCs
author
benl@ouroborus.net
<unknown>
Thu, 24 Jun 2010 08:27:17 +0000
(08:27 +0000)
committer
benl@ouroborus.net
<unknown>
Thu, 24 Jun 2010 08:27:17 +0000
(08:27 +0000)
compiler/nativeGen/RegAlloc/Graph/Main.hs
patch
|
blob
|
history
diff --git
a/compiler/nativeGen/RegAlloc/Graph/Main.hs
b/compiler/nativeGen/RegAlloc/Graph/Main.hs
index
6b01298
..
069c8c0
100644
(file)
--- a/
compiler/nativeGen/RegAlloc/Graph/Main.hs
+++ b/
compiler/nativeGen/RegAlloc/Graph/Main.hs
@@
-212,8
+212,10
@@
regAlloc_spin
<- regSpill code_coalesced slotsFree rsSpill
-- recalculate liveness
<- regSpill code_coalesced slotsFree rsSpill
-- recalculate liveness
--- let code_nat = map stripLive code_spilled
- code_relive <- mapM regLiveness code_spilled
+ -- NOTE: we have to reverse the SCCs here to get them back into the reverse-dependency
+ -- order required by computeLiveness. If they're not in the correct order
+ -- that function will panic.
+ code_relive <- mapM (regLiveness . reverseBlocksInTops) code_spilled
-- record what happened in this stage for debugging
let stat =
-- record what happened in this stage for debugging
let stat =