aboutsummaryrefslogtreecommitdiff
path: root/ReplaceRefs.hs
diff options
context:
space:
mode:
Diffstat (limited to 'ReplaceRefs.hs')
-rw-r--r--ReplaceRefs.hs7
1 files changed, 5 insertions, 2 deletions
diff --git a/ReplaceRefs.hs b/ReplaceRefs.hs
index 3ab73c3..821952b 100644
--- a/ReplaceRefs.hs
+++ b/ReplaceRefs.hs
@@ -1,15 +1,18 @@
module ReplaceRefs
- (replaceRefsIns, replaceRefsTerm, replaceRefsBB, replaceRefsBBList)
+ (replaceRef, replaceRefsIns, replaceRefsTerm, replaceRefsBB, replaceRefsBBList)
where
import Intermediate
+replaceRef :: Ref -> Ref -> Ref -> Ref
+replaceRef = trans
+
replaceRefsIns :: Ref -> Ref -> IRIns -> IRIns
replaceRefsIns from to (IMov a b) = IMov (trans from to a) (trans from to b)
replaceRefsIns from to (IStore a b) = IStore (trans from to a) (trans from to b)
replaceRefsIns from to (ILoad a b) = ILoad (trans from to a) (trans from to b)
-replaceRefsIns from to (IAri at a b) = IAri at (trans from to a) (trans from to b)
+replaceRefsIns from to (IAri at a b c) = IAri at (trans from to a) (trans from to b) (trans from to c)
replaceRefsIns from to (ICall n al) = ICall n (map (trans from to) al)
replaceRefsIns from to (ICallr a n al) = ICallr (trans from to a) n (map (trans from to) al)
replaceRefsIns from to (IResize a b) = IResize (trans from to a) (trans from to b)