summaryrefslogtreecommitdiff
path: root/compiler/llvmGen/Llvm
diff options
context:
space:
mode:
authorDavid Terei <davidterei@gmail.com>2011-04-22 20:00:15 -0700
committerDavid Terei <davidterei@gmail.com>2011-05-31 00:53:07 -0700
commit93d6c9d532b678a91bafd4bf5f5f10c4f4b6d9b9 (patch)
treeb4d401f494dd9f5134e7f07b07f8b7db91915679 /compiler/llvmGen/Llvm
parent5fb59c02d3829cdd88cb2180237aba4ea4a2f66a (diff)
downloadhaskell-93d6c9d532b678a91bafd4bf5f5f10c4f4b6d9b9.tar.gz
Add new mem{cpy,set,move} cmm prim ops.
Diffstat (limited to 'compiler/llvmGen/Llvm')
-rw-r--r--compiler/llvmGen/Llvm/AbsSyn.hs6
-rw-r--r--compiler/llvmGen/Llvm/PpLlvm.hs1
2 files changed, 7 insertions, 0 deletions
diff --git a/compiler/llvmGen/Llvm/AbsSyn.hs b/compiler/llvmGen/Llvm/AbsSyn.hs
index e25f5be2b9..93bc62c91f 100644
--- a/compiler/llvmGen/Llvm/AbsSyn.hs
+++ b/compiler/llvmGen/Llvm/AbsSyn.hs
@@ -132,6 +132,12 @@ data LlvmStatement
-}
| Expr LlvmExpression
+ {- |
+ A nop LLVM statement. Useful as its often more efficient to use this
+ then to wrap LLvmStatement in a Just or [].
+ -}
+ | Nop
+
deriving (Show, Eq)
diff --git a/compiler/llvmGen/Llvm/PpLlvm.hs b/compiler/llvmGen/Llvm/PpLlvm.hs
index 1a972e74fe..82c6bfa65e 100644
--- a/compiler/llvmGen/Llvm/PpLlvm.hs
+++ b/compiler/llvmGen/Llvm/PpLlvm.hs
@@ -161,6 +161,7 @@ ppLlvmStatement stmt
Return result -> ppReturn result
Expr expr -> ppLlvmExpression expr
Unreachable -> text "unreachable"
+ Nop -> empty
-- | Print out an LLVM expression.