]> Joshua Wise's Git repositories - snipe.git/blobdiff - codegen/liveness.sml
Propagate strings through the blarg backend.
[snipe.git] / codegen / liveness.sml
index 97037cb28db16d3a39bfa4924f7bad2c40ed8fa5..df411bbf1441fb93f5643bafb34fbc62e2e88cd6 100644 (file)
@@ -99,13 +99,14 @@ struct
       (* val gendef : ident * X.insn -> ident * pred list
        * generates the def/use/succ predicates for a single insn
        *)
-      fun gendef (n, X.DIRECTIVE(_))           = (nil)
-        | gendef (n, X.COMMENT(_))             = (nil)
+      fun gendef (n, X.DIRECTIVE(_))           = ([SUCC (n+1)])
+        | gendef (n, X.COMMENT(_))             = ([SUCC (n+1)])
         | gendef (n, X.LIVEIGN (_))            = ([SUCC (n+1)])
         | gendef (n, X.LABEL l)                = ([SUCC (n+1)])
         | gendef (n, X.INSN(X.NV, _))          = ([SUCC (n+1)])
         | gendef (n, X.INSN(_, X.MOVLIT(dest, _))) = (defhit dest @ [SUCC(n+1), ISMOVE])
         | gendef (n, X.INSN(_, X.MOVSYM(dest, sym))) = (defhit dest @ [SUCC(n+1), ISMOVE])
+        | gendef (n, X.INSN(_, X.MOVSTR(dest, str))) = (defhit dest @ [SUCC(n+1), ISMOVE])
         | gendef (n, X.INSN(X.AL, X.MOVLBL(X.REG X.PC, l))) = ([SUCC (findlabel l)])
         | gendef (n, X.INSN(_, X.MOVLBL(X.REG X.PC, l))) = ([SUCC (n+1), SUCC (findlabel l)])
         | gendef (n, X.INSN(_, X.MOVLBL(_, _))) = raise ErrorMsg.InternalError "MOVLBL with target neq PC"
This page took 0.024834 seconds and 4 git commands to generate.