diff options
author | David Terei <davidterei@gmail.com> | 2010-06-21 12:52:20 +0000 |
---|---|---|
committer | David Terei <davidterei@gmail.com> | 2010-06-21 12:52:20 +0000 |
commit | 09e6aba8000ccf52943ada4fb9ac76e0d93a202f (patch) | |
tree | c0f513c69355bcc0b5bf2975e44708e0483407f7 /compiler/llvmGen/LlvmCodeGen/CodeGen.hs | |
parent | 4bb4a1cfa8b88fefae3405d101dc6ff0f7adbae3 (diff) | |
download | haskell-09e6aba8000ccf52943ada4fb9ac76e0d93a202f.tar.gz |
Reduce the number of passes over the cmm in llvm BE
Diffstat (limited to 'compiler/llvmGen/LlvmCodeGen/CodeGen.hs')
-rw-r--r-- | compiler/llvmGen/LlvmCodeGen/CodeGen.hs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/llvmGen/LlvmCodeGen/CodeGen.hs b/compiler/llvmGen/LlvmCodeGen/CodeGen.hs index f5c71ab2b9..13fe123f48 100644 --- a/compiler/llvmGen/LlvmCodeGen/CodeGen.hs +++ b/compiler/llvmGen/LlvmCodeGen/CodeGen.hs @@ -275,7 +275,7 @@ genCall env target res args ret = do CmmPrim mop -> do let name = cmmPrimOpFunctions mop let lbl = mkForeignLabel name Nothing - ForeignLabelInExternalPackage IsFunction + ForeignLabelInExternalPackage IsFunction getFunPtr $ CmmCallee (CmmLit (CmmLabel lbl)) CCallConv (env2, fptr, stmts2, top2) <- getFunPtr target @@ -335,7 +335,8 @@ arg_vars env (CmmHinted e AddrHint:rest) (vars, stmts, tops) ++ show a ++ ")" (v2, s1) <- doExpr i8Ptr $ Cast op v1 i8Ptr - arg_vars env' rest (vars ++ [v2], stmts `appOL` stmts' `snocOL` s1, tops ++ top') + arg_vars env' rest (vars ++ [v2], stmts `appOL` stmts' `snocOL` s1, + tops ++ top') arg_vars env (CmmHinted e _:rest) (vars, stmts, tops) = do (env', v1, stmts', top') <- exprToVar env e |