aboutsummaryrefslogtreecommitdiffstats
path: root/scheduling/RTLtoBTLaux.ml
diff options
context:
space:
mode:
Diffstat (limited to 'scheduling/RTLtoBTLaux.ml')
-rw-r--r--scheduling/RTLtoBTLaux.ml5
1 files changed, 3 insertions, 2 deletions
diff --git a/scheduling/RTLtoBTLaux.ml b/scheduling/RTLtoBTLaux.ml
index 056fe213..d04326ea 100644
--- a/scheduling/RTLtoBTLaux.ml
+++ b/scheduling/RTLtoBTLaux.ml
@@ -10,7 +10,7 @@ open BTLScheduleraux
let encaps_final inst osucc =
match inst with
- | BF _ | Bcond _ -> inst
+ | BF _ -> inst
| _ -> Bseq (inst, BF (Bgoto (get_some @@ osucc), def_iinfo ()))
let translate_inst (iinfo : BTL.inst_info) inst is_final =
@@ -33,12 +33,13 @@ let translate_inst (iinfo : BTL.inst_info) inst is_final =
| Itailcall (sign, fn, lr) -> BF (Btailcall (sign, fn, lr), iinfo)
| Ibuiltin (ef, lr, rd, s) -> BF (Bbuiltin (ef, lr, rd, s), iinfo)
| Icond (cond, lr, ifso, ifnot, info) ->
+ osucc := Some ifnot;
iinfo.pcond <- info;
Bcond
( cond,
lr,
BF (Bgoto ifso, def_iinfo ()),
- BF (Bgoto ifnot, def_iinfo ()),
+ Bnop None,
iinfo )
| Ijumptable (arg, tbl) -> BF (Bjumptable (arg, tbl), iinfo)
| Ireturn oreg -> BF (Breturn oreg, iinfo)