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:
7594ea1
)
LLVM: Fix compilation of writebarrier, #4308
author
David Terei
<davidterei@gmail.com>
Mon, 4 Oct 2010 15:38:43 +0000
(15:38 +0000)
committer
David Terei
<davidterei@gmail.com>
Mon, 4 Oct 2010 15:38:43 +0000
(15:38 +0000)
compiler/llvmGen/LlvmCodeGen/CodeGen.hs
patch
|
blob
|
history
diff --git
a/compiler/llvmGen/LlvmCodeGen/CodeGen.hs
b/compiler/llvmGen/LlvmCodeGen/CodeGen.hs
index
076974a
..
cd135de
100644
(file)
--- a/
compiler/llvmGen/LlvmCodeGen/CodeGen.hs
+++ b/
compiler/llvmGen/LlvmCodeGen/CodeGen.hs
@@
-152,6
+152,10
@@
genCall :: LlvmEnv -> CmmCallTarget -> HintedCmmFormals -> HintedCmmActuals
-- Write barrier needs to be handled specially as it is implemented as an LLVM
-- intrinsic function.
-- Write barrier needs to be handled specially as it is implemented as an LLVM
-- intrinsic function.
+#if i386_TARGET_ARCH || x86_64_TARGET_ARCH || sparc_TARGET_ARCH
+genCall env (CmmPrim MO_WriteBarrier) _ _ _ = return (env, nilOL, [])
+
+#else
genCall env (CmmPrim MO_WriteBarrier) _ _ _ = do
let fname = fsLit "llvm.memory.barrier"
let funSig = LlvmFunctionDecl fname ExternallyVisible CC_Ccc LMVoid
genCall env (CmmPrim MO_WriteBarrier) _ _ _ = do
let fname = fsLit "llvm.memory.barrier"
let funSig = LlvmFunctionDecl fname ExternallyVisible CC_Ccc LMVoid
@@
-172,6
+176,7
@@
genCall env (CmmPrim MO_WriteBarrier) _ _ _ = do
where
lmTrue :: LlvmVar
lmTrue = LMLitVar $ LMIntLit (-1) i1
where
lmTrue :: LlvmVar
lmTrue = LMLitVar $ LMIntLit (-1) i1
+#endif
-- Handle all other foreign calls and prim ops.
genCall env target res args ret = do
-- Handle all other foreign calls and prim ops.
genCall env target res args ret = do