summaryrefslogtreecommitdiff
path: root/compiler/nativeGen/RegAlloc/Linear/Main.hs
diff options
context:
space:
mode:
authorGeoffrey Mainland <gmainlan@microsoft.com>2012-10-17 18:20:29 +0100
committerGeoffrey Mainland <gmainlan@microsoft.com>2012-10-30 20:50:48 +0000
commit5ee08ddffbbe596d7716a09306888004e6baf2b1 (patch)
treeace546c8fd030cdfe3332f9a29873e3757dca33b /compiler/nativeGen/RegAlloc/Linear/Main.hs
parent82ede42607140f8e8a05579a43fb4e7376a430db (diff)
downloadhaskell-5ee08ddffbbe596d7716a09306888004e6baf2b1.tar.gz
Attach global register liveness info to Cmm procedures.
All Cmm procedures now include the set of global registers that are live on procedure entry, i.e., the global registers used to pass arguments to the procedure. Only global registers that are use to pass arguments are included in this list.
Diffstat (limited to 'compiler/nativeGen/RegAlloc/Linear/Main.hs')
-rw-r--r--compiler/nativeGen/RegAlloc/Linear/Main.hs10
1 files changed, 5 insertions, 5 deletions
diff --git a/compiler/nativeGen/RegAlloc/Linear/Main.hs b/compiler/nativeGen/RegAlloc/Linear/Main.hs
index 3f1efe5824..fc5b992603 100644
--- a/compiler/nativeGen/RegAlloc/Linear/Main.hs
+++ b/compiler/nativeGen/RegAlloc/Linear/Main.hs
@@ -150,12 +150,12 @@ regAlloc _ (CmmData sec d)
, Nothing
, Nothing )
-regAlloc _ (CmmProc (LiveInfo info _ _ _) lbl [])
- = return ( CmmProc info lbl (ListGraph [])
+regAlloc _ (CmmProc (LiveInfo info _ _ _) lbl live [])
+ = return ( CmmProc info lbl live (ListGraph [])
, Nothing
, Nothing )
-regAlloc dflags (CmmProc static lbl sccs)
+regAlloc dflags (CmmProc static lbl live sccs)
| LiveInfo info (Just first_id) (Just block_live) _ <- static
= do
-- do register allocation on each component.
@@ -174,12 +174,12 @@ regAlloc dflags (CmmProc static lbl sccs)
| otherwise
= Nothing
- return ( CmmProc info lbl (ListGraph (first' : rest'))
+ return ( CmmProc info lbl live (ListGraph (first' : rest'))
, extra_stack
, Just stats)
-- bogus. to make non-exhaustive match warning go away.
-regAlloc _ (CmmProc _ _ _)
+regAlloc _ (CmmProc _ _ _ _)
= panic "RegAllocLinear.regAlloc: no match"