blob: b4c9f1ef93d2349f0d7846b65f69d59cc2db8f4c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
|
(** Define opcode heuristics used for the instruction duplication oracle
* In particular, it is used to figure out which "branch" should be privileged
* when selecting a trace.
*)
exception HeuristicSucceeded
(* The bool reference should be updated to [true] if the condition is supposed
* to hold, [false] if it is supposed to not hold
* The function should raise HeuristicSucceeded if it succeeded to predict a branch,
* and do nothing otherwise *)
val opcode_heuristic : RTL.code -> Op.condition -> RTL.node -> RTL.node -> bool ref -> unit
|