diff options
Diffstat (limited to 'scheduling/BTLrenumber.ml')
-rw-r--r-- | scheduling/BTLrenumber.ml | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/scheduling/BTLrenumber.ml b/scheduling/BTLrenumber.ml deleted file mode 100644 index f9cacd6a..00000000 --- a/scheduling/BTLrenumber.ml +++ /dev/null @@ -1,50 +0,0 @@ -(* XXX uncomment -open !BTL -open DebugPrint -open RTLcommonaux -open Maps*) - -(** A quick note on the BTL renumber algorithm - This is a simple first version where we try to reuse the entry numbering from RTL. - In the futur, it would be great to implement a strongly connected components partitionning. - The numbering is done by a postorder traversal. - TODO gourdinl : note perso - - faire un comptage global du nombre d'instructions rtl à générer - - utiliser la structure d'info créée lors de la génération pour tenter de préserver au max - la relation d'ordre, avec une heuristique genre (1 + max des succs) pour l'insertion - - quand il y a un branchement conditionnel, privilégier le parcour du fils gauche en premier - (afin d'avoir de plus petits numéros à gauche) -*) -(* -let rec get_max_rtl_ninsts code entry = -let rec postorder_blk ib = -*) - -(* XXX uncomment -let postorder code entry = - let renumbered_code = ref PTree.empty in - let rec renum_ibf e = - let ibf = get_some @@ PTree.get e code in - if ibf.binfo.visited then () - else ( - ibf.binfo.visited <- true; - let next_nodes = ref [] in - let ib = ibf.entry in - let rec renum_iblock ib = - match ib with - in - let rib = renum_iblock ib in - ibf.entry <- rib; - renumbered_code := PTree.set e ibf !renumbered_code; - let succs = !next_nodes in - List.iter renum_ibf succs) - in - renum_ibf entry - -let renumber (f: BTL.coq_function) = - debug_flag := true; - let code = f.fn_code in - let entry = f.fn_entrypoint in - let renumbered_code = postorder code entry in - debug_flag := false; - renumbered_code*) |