aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scheduling/RTLpathScheduleraux.ml5
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;