SCM Repository
[diderot] Diff of /branches/lamont_dev/src/compiler/translate/translate.sml
Diff of /branches/lamont_dev/src/compiler/translate/translate.sml
Parent Directory
|
Revision Log
|
Patch
72 |
val (s2, env2, assigned2) = block(env, b2) |
val (s2, env2, assigned2) = block(env, b2) |
73 |
val assigned = VSet.union(assigned1, assigned2) |
val assigned = VSet.union(assigned1, assigned2) |
74 |
val (env, phis) = let |
val (env, phis) = let |
75 |
fun mkPhi (x, (env, phis) = let |
fun mkPhi (x, (env, phis)) = let |
76 |
val x1 = lookup(env1, x) |
val x1 = lookup(env1, x) |
77 |
val x2 = lookup(env2, x) |
val x2 = lookup(env2, x) |
78 |
val x' = newVar x |
val x' = newVar x |
107 |
IL.addPred (succ, stm); |
IL.addPred (succ, stm); |
108 |
(stm, env, assigned) |
(stm, env, assigned) |
109 |
end |
end |
110 |
|
end |
111 |
| S.S_Die => (IL.mkDIE(), assigned, stms) |
| S.S_Die => (IL.mkDIE(), assigned, stms) |
112 |
| S.S_Stabilize => (IL.mkSTABILIZE(), assigned, stms) |
| S.S_Stabilize => (IL.mkSTABILIZE(), assigned, stms) |
113 |
(* end case *)) |
(* end case *)) |
|
Legend:
Removed from v.193 |
|
changed lines |
|
Added in v.194 |
|
|