summaryrefslogtreecommitdiff
path: root/compiler/llvmGen/LlvmCodeGen/CodeGen.hs
diff options
context:
space:
mode:
authorGeoffrey Mainland <gmainlan@microsoft.com>2012-10-17 17:03:13 +0100
committerGeoffrey Mainland <gmainlan@microsoft.com>2012-10-30 12:50:54 +0000
commit8e8168446a6f1fe2747ba10bc76053097862f4db (patch)
tree7445ec05077e5508ccafd3cd7c3ed430e25142ac /compiler/llvmGen/LlvmCodeGen/CodeGen.hs
parent092c0bd466230cf248ecb996fd5891c413ed7b7d (diff)
downloadhaskell-8e8168446a6f1fe2747ba10bc76053097862f4db.tar.gz
Cmm jumps always have live register information.
Jumps now always have live register information attached, so drop Maybes.
Diffstat (limited to 'compiler/llvmGen/LlvmCodeGen/CodeGen.hs')
-rw-r--r--compiler/llvmGen/LlvmCodeGen/CodeGen.hs6
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/llvmGen/LlvmCodeGen/CodeGen.hs b/compiler/llvmGen/LlvmCodeGen/CodeGen.hs
index 73cd98f63a..f73552dad8 100644
--- a/compiler/llvmGen/LlvmCodeGen/CodeGen.hs
+++ b/compiler/llvmGen/LlvmCodeGen/CodeGen.hs
@@ -510,7 +510,7 @@ cmmPrimOpFunctions env mop
++ " not supported here")
-- | Tail function calls
-genJump :: LlvmEnv -> CmmExpr -> Maybe [GlobalReg] -> UniqSM StmtData
+genJump :: LlvmEnv -> CmmExpr -> [GlobalReg] -> UniqSM StmtData
-- Call to known function
genJump env (CmmLit (CmmLabel lbl)) live = do
@@ -1258,10 +1258,10 @@ funPrologue dflags = concat $ map getReg $ activeStgRegs platform
-- | Function epilogue. Load STG variables to use as argument for call.
-- STG Liveness optimisation done here.
-funEpilogue :: LlvmEnv -> Maybe [GlobalReg] -> UniqSM ([LlvmVar], LlvmStatements)
+funEpilogue :: LlvmEnv -> [GlobalReg] -> UniqSM ([LlvmVar], LlvmStatements)
-- Have information and liveness optimisation is enabled
-funEpilogue env (Just live) | gopt Opt_RegLiveness dflags = do
+funEpilogue env live | gopt Opt_RegLiveness dflags = do
loads <- mapM loadExpr (activeStgRegs platform)
let (vars, stmts) = unzip loads
return (vars, concatOL stmts)