aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustus Fasse <justus.fasse@etu.univ-grenoble-alpes.fr>2021-08-17 12:41:42 +0200
committerJustus Fasse <justus.fasse@etu.univ-grenoble-alpes.fr>2021-08-17 12:41:42 +0200
commit1dca24dd3360b61d9ea00893e6de12fb5bc2e56f (patch)
treeab072e30f331fc8a736043a655464e6aa5d9d02c
parent9c9b7071fcd714281383156d75adf5a4d762c6ba (diff)
downloadcompcert-kvx-1dca24dd3360b61d9ea00893e6de12fb5bc2e56f.tar.gz
compcert-kvx-1dca24dd3360b61d9ea00893e6de12fb5bc2e56f.zip
Issue warning when idealized final time is larger than default final
time
-rw-r--r--scheduling/MyRTLpathScheduleraux.ml8
1 files changed, 6 insertions, 2 deletions
diff --git a/scheduling/MyRTLpathScheduleraux.ml b/scheduling/MyRTLpathScheduleraux.ml
index 03ed24aa..7d493d14 100644
--- a/scheduling/MyRTLpathScheduleraux.ml
+++ b/scheduling/MyRTLpathScheduleraux.ml
@@ -944,10 +944,14 @@ let downschedule_compensation_code sb code pm live_renames ~next_free_pc ~next_f
| None, Some _ | Some _, None -> failwith "downschedule_compensation_code: Scheduling procedure failed."
| Some (idealized_schedule, idealized_final_time)
, Some (default_schedule, default_final_time) ->
- if idealized_final_time = default_final_time then
+ if idealized_final_time >= default_final_time then (
+ if (idealized_final_time > default_final_time) then (
+ debug "Unexpectedly, idealized dependencies lead to a worse expected final time.\n";
+ failwith "Unexpectedly bad final time for idealized schedule";
+ );
(* Early exit *)
InsertPositionMap.empty
- else (
+ ) else (
let sb_length = Array.length sb.instructions in
let pc_to_idx =
Duplicateaux.generate_fwmap