diff options
author | tomsmeding <tom.smeding@gmail.com> | 2017-08-27 20:34:57 +0200 |
---|---|---|
committer | tomsmeding <tom.smeding@gmail.com> | 2017-08-27 20:34:57 +0200 |
commit | c129641b18156b463cd12318ba956c85a9017e39 (patch) | |
tree | 1b17cfa6b009db854380c983b7ea9a00507b9513 /Intermediate.hs | |
parent | aa049227c17f15ad22092f1fcab4410bbf3521ba (diff) |
Tenth
Diffstat (limited to 'Intermediate.hs')
-rw-r--r-- | Intermediate.hs | 2 |
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) = |