[sledge] Fix form of failure in interval analysis

Summary:
Overwritten variables in move instructions are not impossible. Since
Domain_itv does not handle them, the check should be a `todo` rather
than an `assert false`.

Reviewed By: jvillard

Differential Revision: D25146168

fbshipit-source-id: 13d8587c7
master
Josh Berdine 4 years ago committed by Facebook GitHub Bot
parent 78eb85bcf4
commit f835e46308

@ -180,7 +180,8 @@ let exec_move move_vec q =
( Llair.Reg.Set.add r defs ( Llair.Reg.Set.add r defs
, Llair.Exp.fold_regs ~f:Llair.Reg.Set.add e uses ) ) , Llair.Exp.fold_regs ~f:Llair.Reg.Set.add e uses ) )
in in
assert (Llair.Reg.Set.disjoint defs uses) ; if not (Llair.Reg.Set.disjoint defs uses) then
todo "overwritten variables in Domain_itv" () ;
IArray.fold ~f:(fun (r, e) q -> assign r e q) move_vec q IArray.fold ~f:(fun (r, e) q -> assign r e q) move_vec q
let exec_inst i q = let exec_inst i q =

Loading…
Cancel
Save