diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2007-08-04 07:27:50 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2007-08-04 07:27:50 +0000 |
commit | 355b4abcee015c3fae9ac5653c25259e104a886c (patch) | |
tree | cfdb5b17f36b815bb358699cf420f64eba9dfe25 /caml/Coloringaux.ml | |
parent | 22ff08b38616ceef336f5f974d4edc4d37d955e8 (diff) | |
download | compcert-355b4abcee015c3fae9ac5653c25259e104a886c.tar.gz compcert-355b4abcee015c3fae9ac5653c25259e104a886c.zip |
Fusion des modifications faites sur les branches "tailcalls" et "smallstep".
En particulier:
- Semantiques small-step depuis RTL jusqu'a PPC
- Cminor independant du processeur
- Ajout passes Selection et Reload
- Ajout des langages intermediaires CminorSel et LTLin correspondants
- Ajout des tailcalls depuis Cminor jusqu'a PPC
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@384 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'caml/Coloringaux.ml')
-rw-r--r-- | caml/Coloringaux.ml | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/caml/Coloringaux.ml b/caml/Coloringaux.ml index a7c8db5c..b3f4515e 100644 --- a/caml/Coloringaux.ml +++ b/caml/Coloringaux.ml @@ -185,8 +185,8 @@ let init() = let interfere n1 n2 = if n1.degree < n2.degree - then list_memq n2 n1.adjlist - else list_memq n1 n2.adjlist + then List.memq n2 n1.adjlist + else List.memq n1 n2.adjlist (* Add an edge to the graph. Assume edge is not in graph already *) @@ -199,7 +199,7 @@ let addEdge n1 n2 = (* Apply the given function to the relevant adjacent nodes of a node *) let iterAdjacent f n = - list_iter + List.iter (fun n -> match n.nstate with | SelectStack | CoalescedNodes -> () @@ -214,12 +214,12 @@ let moveIsActiveOrWorklist m = | _ -> false let nodeMoves n = - list_filter moveIsActiveOrWorklist n.movelist + List.filter moveIsActiveOrWorklist n.movelist (* Determine whether a node is involved in a move *) let moveRelated n = - list_exists moveIsActiveOrWorklist n.movelist + List.exists moveIsActiveOrWorklist n.movelist (*i (* Check invariants *) @@ -361,7 +361,7 @@ let build g typenv spillcosts = (* Enable moves that have become low-degree related *) let enableMoves n = - list_iter + List.iter (fun m -> if m.mstate = ActiveMoves then DLinkMove.move m activeMoves worklistMoves) @@ -481,7 +481,7 @@ let freezeMoves u = && v.degree < num_available_registers.(v.regclass) && v.nstate <> Colored then DLinkNode.move v freezeWorklist simplifyWorklist in - list_iter freeze (nodeMoves u) + List.iter freeze (nodeMoves u) (* Pick a move and freeze it *) @@ -577,7 +577,7 @@ let find_slot conflicts typ = let assign_color n = let conflicts = ref Locset.empty in - list_iter + List.iter (fun n' -> match (getAlias n').color with | None -> () @@ -607,7 +607,7 @@ let graph_coloring (f: coq_function) (g: graph) (env: regenv) (regs: Regset.t) init(); Array.fill start_points 0 num_register_classes 0; let mapping = build g env (spill_costs f) in - list_iter assign_color (nodeOrder []); + List.iter assign_color (nodeOrder []); fun r -> try location_of_node (getAlias (Hashtbl.find mapping r)) with Not_found -> R IT1 (* any location *) |