aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustus Fasse <justus.fasse@etu.univ-grenoble-alpes.fr>2021-07-07 11:40:43 +0200
committerJustus Fasse <justus.fasse@etu.univ-grenoble-alpes.fr>2021-07-07 11:40:43 +0200
commit2ca732c8ca6afbbcae71483d5f1818e4c03d5969 (patch)
tree829529b776fccdedad90c403fcdf5aac4a68dcec
parent8abe877ee60b670d4debcd579e360a290461ff8f (diff)
downloadcompcert-kvx-2ca732c8ca6afbbcae71483d5f1818e4c03d5969.tar.gz
compcert-kvx-2ca732c8ca6afbbcae71483d5f1818e4c03d5969.zip
Update `next_free_reg` correctly
By incorrectly reusing registers, the schedules of `ideal_schedule'` were over-constrained.
-rw-r--r--scheduling/MyRTLpathScheduleraux.ml2
1 files changed, 1 insertions, 1 deletions
diff --git a/scheduling/MyRTLpathScheduleraux.ml b/scheduling/MyRTLpathScheduleraux.ml
index 8102f6d9..2ec2fddc 100644
--- a/scheduling/MyRTLpathScheduleraux.ml
+++ b/scheduling/MyRTLpathScheduleraux.ml
@@ -989,7 +989,7 @@ let scheduler f =
flush_all ();
let next_free_reg = max_reg_function f.fn_RTL |> Camlcoq.P.succ in
- let (code, sb_renamings, _next_free_reg) =
+ let (code, sb_renamings, next_free_reg) =
ListLabels.fold_left superblocks
~init:(code, [], next_free_reg)
~f:(fun (code, sb_renamings, next_free_reg) sb ->