diff options
-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; |