diff options
author | nicolas.nardino <nicolas.nardino@ens-lyon.fr> | 2021-06-08 16:53:19 +0200 |
---|---|---|
committer | nicolas.nardino <nicolas.nardino@ens-lyon.fr> | 2021-06-08 16:53:19 +0200 |
commit | 386b9053177bb4ef2801cec00b717c400a828139 (patch) | |
tree | aa60500e55c1ae7f3fa41dd2b4497f461604bc7c | |
parent | 9b6247b7996f3e0181d27ec0e20daffd28e0884f (diff) | |
download | compcert-kvx-386b9053177bb4ef2801cec00b717c400a828139.tar.gz compcert-kvx-386b9053177bb4ef2801cec00b717c400a828139.zip |
Fix RTLpathScheduleraux.get_live_regs_entry
-rw-r--r-- | scheduling/RTLpathScheduleraux.ml | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/scheduling/RTLpathScheduleraux.ml b/scheduling/RTLpathScheduleraux.ml index 24fef3e8..72cf6682 100644 --- a/scheduling/RTLpathScheduleraux.ml +++ b/scheduling/RTLpathScheduleraux.ml @@ -89,7 +89,8 @@ let get_live_regs_entry (sb : superblock) code = | None -> Regset.empty)) sb.instructions in let ret = - Array.fold_right (fun (ins, liveins) regset -> + Array.fold_right (fun (ins, liveins) regset_i -> + let regset = Registers.Regset.union liveins regset_i in match ins with | Inop _ -> regset | Iop (_, args, dest, _) @@ -128,7 +129,7 @@ let get_live_regs_entry (sb : superblock) code = | Ijumptable (reg, _) | Ireturn (Some reg) -> Registers.Regset.add reg regset - | _ -> regset + | _ -> regset ) seqa sb.s_output_regs in debug "live in regs: "; print_regset ret; |