diff options
author | Justus Fasse <justus.fasse@etu.univ-grenoble-alpes.fr> | 2021-07-21 10:10:23 +0200 |
---|---|---|
committer | Justus Fasse <justus.fasse@etu.univ-grenoble-alpes.fr> | 2021-07-21 10:10:23 +0200 |
commit | 69af426c3abc7be5b8caf94f1472ce6372afbd09 (patch) | |
tree | b652ba8131c4fe5dbefbdeb25449a45bce126734 | |
parent | 3d73b381fe53c16ec5c44f12a76e29f6ec544a66 (diff) | |
download | compcert-kvx-69af426c3abc7be5b8caf94f1472ce6372afbd09.tar.gz compcert-kvx-69af426c3abc7be5b8caf94f1472ce6372afbd09.zip |
Fix error where side exits where accidentally swapped
-rw-r--r-- | scheduling/MyRTLpathScheduleraux.ml | 4 |
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) |