From 386b9053177bb4ef2801cec00b717c400a828139 Mon Sep 17 00:00:00 2001 From: "nicolas.nardino" Date: Tue, 8 Jun 2021 16:53:19 +0200 Subject: Fix RTLpathScheduleraux.get_live_regs_entry --- scheduling/RTLpathScheduleraux.ml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'scheduling') 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; -- cgit