diff options
author | Justus Fasse <justus.fasse@etu.univ-grenoble-alpes.fr> | 2021-08-16 09:15:09 +0200 |
---|---|---|
committer | Justus Fasse <justus.fasse@etu.univ-grenoble-alpes.fr> | 2021-08-16 09:15:09 +0200 |
commit | b5264b5677eb95dfb1867f8df0bdb81d5ed23ad2 (patch) | |
tree | 9b960db6a625b781303d79b72b5ca0ace2adcad1 | |
parent | 31374ebcf4f2cb85adba3f0f861b8bf2addaeb50 (diff) | |
download | compcert-kvx-b5264b5677eb95dfb1867f8df0bdb81d5ed23ad2.tar.gz compcert-kvx-b5264b5677eb95dfb1867f8df0bdb81d5ed23ad2.zip |
Better relative estimates by systematically supplying correct liveness
information.
Correct in the sense that they match the expected scheduling
constraints.
-rw-r--r-- | scheduling/MyRTLpathScheduleraux.ml | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/scheduling/MyRTLpathScheduleraux.ml b/scheduling/MyRTLpathScheduleraux.ml index 4c8be5f2..7fc940c7 100644 --- a/scheduling/MyRTLpathScheduleraux.ml +++ b/scheduling/MyRTLpathScheduleraux.ml @@ -937,7 +937,8 @@ let downschedule_compensation_code sb code pm live_renames ~next_free_pc ~next_f | "no_move_stores" -> Ignore_liveness | _ -> failwith "Unsupported option for scheduling code past side exits" in - match ideal_schedule'' sb code mode, ideal_schedule'' sb code Default with + let sb_with_liveins = {sb with liveins = update_liveins sb.liveins live_renames} in + match ideal_schedule'' sb_with_liveins code mode, ideal_schedule'' sb_with_liveins code Default with | None, None -> InsertPositionMap.empty (* Early Exit*) | None, Some _ | Some _, None -> failwith "downschedule_compensation_code: Scheduling procedure failed." | Some (idealized_schedule, idealized_final_time) |