From 78fbb0e6f4c2065460a0ddb7e2e3ec94da21169f Mon Sep 17 00:00:00 2001 From: Léo Gourdin Date: Mon, 31 May 2021 23:51:31 +0200 Subject: Dupmap bugfix and some advance in Livegen --- scheduling/BTLRenumber.ml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'scheduling/BTLRenumber.ml') diff --git a/scheduling/BTLRenumber.ml b/scheduling/BTLRenumber.ml index 58d4f7ac..6ff42a27 100644 --- a/scheduling/BTLRenumber.ml +++ b/scheduling/BTLRenumber.ml @@ -87,6 +87,7 @@ let regenerate_btl_tree btl entry = | Bseq (ib1, ib2) -> Bseq (renumber_iblock ib1, renumber_iblock ib2) | _ -> ib in + let dm = ref PTree.empty in let ord_btl = PTree.fold (fun ord_btl old_n old_ibf -> @@ -96,16 +97,16 @@ let regenerate_btl_tree btl entry = let bi = mk_binfo n in let ibf = { entry = ib; input_regs = old_ibf.input_regs; binfo = bi } in if old_n = entry then new_entry := n_pos; + dm := PTree.set old_n n_pos !dm; PTree.set n_pos ibf ord_btl) btl PTree.empty in debug "Renumbered BTL with new_entry=%d:\n" (p2i !new_entry); print_btl_code stderr ord_btl; - (ord_btl, !new_entry) + ((ord_btl, !new_entry), !dm) let renumber btl entry = (*debug_flag := true;*) let btl' = recompute_inumbs btl entry in - let ord_btl, new_entry = regenerate_btl_tree btl' entry in (*debug_flag := false;*) - (ord_btl, new_entry) + regenerate_btl_tree btl' entry -- cgit