diff options
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) = |