diff options
-rw-r--r-- | compiler/GHC/CmmToLlvm/CodeGen.hs | 7 | ||||
-rw-r--r-- | compiler/GHC/Llvm/Ppr.hs | 2 |
2 files changed, 3 insertions, 6 deletions
diff --git a/compiler/GHC/CmmToLlvm/CodeGen.hs b/compiler/GHC/CmmToLlvm/CodeGen.hs index 3ad52b6f79..13e46ae9d5 100644 --- a/compiler/GHC/CmmToLlvm/CodeGen.hs +++ b/compiler/GHC/CmmToLlvm/CodeGen.hs @@ -915,8 +915,7 @@ genJump (CmmLit (CmmLabel lbl)) live = do (vf, stmts, top) <- getHsFunc live lbl (stgRegs, stgStmts) <- funEpilogue live let s1 = Expr $ Call TailCall vf stgRegs llvmStdFunAttrs - let s2 = Return Nothing - return (stmts `appOL` stgStmts `snocOL` s1 `snocOL` s2, top) + return (stmts `appOL` stgStmts `snocOL` s1, top) -- Call to unknown function / address @@ -935,9 +934,7 @@ genJump expr live = do (v1, s1) <- doExpr (pLift fty) $ Cast cast vf (pLift fty) (stgRegs, stgStmts) <- funEpilogue live let s2 = Expr $ Call TailCall v1 stgRegs llvmStdFunAttrs - let s3 = Return Nothing - return (stmts `snocOL` s1 `appOL` stgStmts `snocOL` s2 `snocOL` s3, - top) + return (stmts `snocOL` s1 `appOL` stgStmts `snocOL` s2, top) -- | CmmAssign operation diff --git a/compiler/GHC/Llvm/Ppr.hs b/compiler/GHC/Llvm/Ppr.hs index 3cc4ab5394..6aa2a15e0b 100644 --- a/compiler/GHC/Llvm/Ppr.hs +++ b/compiler/GHC/Llvm/Ppr.hs @@ -283,7 +283,7 @@ ppCall opts ct fptr args attrs = case fptr of where ppCall' (LlvmFunctionDecl _ _ cc ret argTy params _) = - let tc = if ct == TailCall then text "tail " else empty + let tc = if ct == TailCall then text "ret musttail " else empty ppValues = ppCallParams opts (map snd params) args ppArgTy = (ppCommaJoin $ map (ppr . fst) params) <> (case argTy of |