SCM Repository
[smlnj] Diff of /sml/trunk/src/compiler/FLINT/clos/cps-split.sml
Diff of /sml/trunk/src/compiler/FLINT/clos/cps-split.sml
Parent Directory
|
Revision Log
|
Patch
99 |
edges: node list ref, |
edges: node list ref, |
100 |
fv: A.lvar list } |
fv: A.lvar list } |
101 |
|
|
102 |
fun lt (N n1, N n2) = (#id n1) < (#id n2) |
structure SccNode = struct |
103 |
fun eq (N n1, N n2) = (#id n1) = (#id n2) |
type ord_key = node |
104 |
|
fun compare (N n1, N n2) = Int.compare (#id n1, #id n2) |
105 |
|
end |
106 |
|
|
107 |
structure SCC = SCCUtilFun (type node = node val lt = lt val eq = eq) |
structure SCC = GraphSCCFn (SccNode) |
108 |
|
|
109 |
fun scc (l, fv, e) = let |
fun scc (l, fv, e) = let |
110 |
val root = N { id = ~1, function = NONE, edges = ref [], fv = fv } |
val root = N { id = ~1, function = NONE, edges = ref [], fv = fv } |
|
Legend:
Removed from v.728 |
|
changed lines |
|
Added in v.729 |
|
|