aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustus Fasse <justus.fasse@etu.univ-grenoble-alpes.fr>2021-07-21 10:10:23 +0200
committerJustus Fasse <justus.fasse@etu.univ-grenoble-alpes.fr>2021-07-21 10:10:23 +0200
commit69af426c3abc7be5b8caf94f1472ce6372afbd09 (patch)
treeb652ba8131c4fe5dbefbdeb25449a45bce126734
parent3d73b381fe53c16ec5c44f12a76e29f6ec544a66 (diff)
downloadcompcert-kvx-69af426c3abc7be5b8caf94f1472ce6372afbd09.tar.gz
compcert-kvx-69af426c3abc7be5b8caf94f1472ce6372afbd09.zip
Fix error where side exits where accidentally swapped
-rw-r--r--scheduling/MyRTLpathScheduleraux.ml4
1 files changed, 3 insertions, 1 deletions
diff --git a/scheduling/MyRTLpathScheduleraux.ml b/scheduling/MyRTLpathScheduleraux.ml
index f8366c9f..40b1e5eb 100644
--- a/scheduling/MyRTLpathScheduleraux.ml
+++ b/scheduling/MyRTLpathScheduleraux.ml
@@ -737,7 +737,9 @@ let downschedule_compensation_code sb code pm live_renames ~next_free_pc ~next_f
let uses = HashedSet.PSet.filter
(fun pc ->
not @@ List.mem pc pcs_to_insert
- && apply_map' pc_to_idx pc < apply_map' pc_to_idx side_exit_pc)
+ && apply_map' pc_to_idx pc < apply_map' pc_to_idx side_exit_pc
+ (* Cannot move Iconds *)
+ && (not @@ is_icond @@ get_some @@ PTree.get pc code))
uses
in
let uses = ListLabels.sort (HashedSet.PSet.elements uses)