aboutsummaryrefslogtreecommitdiff
path: root/Intermediate.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Intermediate.hs')
-rw-r--r--Intermediate.hs2
1 files changed, 2 insertions, 0 deletions
diff --git a/Intermediate.hs b/Intermediate.hs
index 6cbccda..d2ac549 100644
--- a/Intermediate.hs
+++ b/Intermediate.hs
@@ -23,6 +23,7 @@ data IRFunc = IRFunc (Maybe Type) Name [(Type, Name)] [BB] Id
data IRIns
= IMov Ref Ref
+ | ILea Ref Name
| IStore Ref Ref
| ILoad Ref Ref
| IAri ArithType Ref Ref Ref -- destination, operand 1, operand 2
@@ -99,6 +100,7 @@ instance Pretty IRFunc where
instance Pretty IRIns where
prettyI _ (IMov d s) = "mov " ++ pretty d ++ " <- " ++ pretty s
+ prettyI _ (ILea d s) = "lea " ++ pretty d ++ " <- &[" ++ s ++ "]"
prettyI _ (IStore d s) = "store *" ++ pretty d ++ " <- " ++ pretty s
prettyI _ (ILoad d s) = "load " ++ pretty d ++ " <- *" ++ pretty s
prettyI _ (IAri at d s1 s2) =