aboutsummaryrefslogtreecommitdiffstats
path: root/scheduling/MyRTLpathScheduleraux.ml
diff options
context:
space:
mode:
Diffstat (limited to 'scheduling/MyRTLpathScheduleraux.ml')
-rw-r--r--scheduling/MyRTLpathScheduleraux.ml5
1 files changed, 4 insertions, 1 deletions
diff --git a/scheduling/MyRTLpathScheduleraux.ml b/scheduling/MyRTLpathScheduleraux.ml
index 5663c877..b2892213 100644
--- a/scheduling/MyRTLpathScheduleraux.ml
+++ b/scheduling/MyRTLpathScheduleraux.ml
@@ -92,7 +92,10 @@ let maybe_change_dest_reg ?only_rename inst fwmap ~next_free_reg =
| Ibuiltin _
| Ijumptable _
| Itailcall _
- | Ireturn _ -> do_nothing
+ | Ireturn _ ->
+ (* Do not rename registers if the instructions MUST end a path because we cannot add
+ * restoration code afterwards. *)
+ do_nothing
| _ as i ->
match RTL.instr_defs i with
| None -> do_nothing