From d89eb8be31e557459a3cb65b1b8485c47468da87 Mon Sep 17 00:00:00 2001 From: Justus Fasse Date: Sat, 21 Aug 2021 21:31:36 +0200 Subject: Revert "Fix error" This reverts commit a0119e5987a1cd84f2baa9286f39b1fc6498af23. Fix applied at wrong place --- scheduling/MyRTLpathScheduleraux.ml | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/scheduling/MyRTLpathScheduleraux.ml b/scheduling/MyRTLpathScheduleraux.ml index 7dcb147c..2cf58d2e 100644 --- a/scheduling/MyRTLpathScheduleraux.ml +++ b/scheduling/MyRTLpathScheduleraux.ml @@ -1428,9 +1428,9 @@ let scheduler f = (sb, to_insert_compensation_pcs, live_renames ) ) in - let (sb_tocompensate_liverenames, code, pm, next_free_reg, next_free_pc) = ListLabels.fold_left sb_tocompensatepcs_liverenames - ~init:([], code, pm, next_free_reg, next_free_pc) - ~f:(fun (sbs, code, pm, next_free_reg, next_free_pc) (sb, to_compensate_pcs, live_renames) -> + let (sb_tocompensate_liverenames, code, next_free_reg) = ListLabels.fold_left sb_tocompensatepcs_liverenames + ~init:([], code, next_free_reg) + ~f:(fun (sbs, code, next_free_reg) (sb, to_compensate_pcs, live_renames) -> if !Clflags.option_fpoormansssa then ( let to_compensate = InsertPositionMap.map (fun pcs -> let insts = List.map (fun pc -> get_some @@ PTree.get pc code) pcs in @@ -1445,7 +1445,7 @@ let scheduler f = to_compensate_pcs code in - ((sb, to_compensate, live_renames)::sbs, code, pm, next_free_reg, next_free_pc) + ((sb, to_compensate, live_renames)::sbs, code, next_free_reg) ) else ( assert (PTree.elements live_renames |> List.for_all (fun (_, l) -> l = [])); let dup_count = InsertPositionMap.fold @@ -1477,18 +1477,6 @@ let scheduler f = in let pi = get_some @@ PTree.get sb.instructions.(0) pm in let (code, live_renames, next_free_reg) = rename_regs ~only_rename:arg_regs sb code ~liveatentry:pi.input_regs ~next_free_reg in - let final_restoration = final_restoration_code sb code live_renames in - let (sb, code, pm, next_free_pc, fwmap) = insert_code sb code pm final_restoration ~next_free_pc in - let live_renames = - PTree.fold - (fun acc pc insts -> - let pc' = apply_map' fwmap pc in - (* Remove final renames, which were just inserted *) - let insts = if Camlcoq.P.eq pc sb.instructions.(Array.length sb.instructions - 1) then [] else insts in - PTree.set pc' insts acc) - live_renames - PTree.empty - in let to_compensate = InsertPositionMap.map (fun pcs -> let insts = List.map (fun pc -> get_some @@ PTree.get pc code) pcs in insts) @@ -1502,7 +1490,7 @@ let scheduler f = to_compensate_pcs code in - ((sb, to_compensate, live_renames)::sbs, code, pm, next_free_reg, next_free_pc) )) + ((sb, to_compensate, live_renames)::sbs, code, next_free_reg) )) in (* Insert the compensation code (downward scheduling) and update the restoration code -- cgit