Binsec_sse_loader.IrSourcetype 'a opcode = | Nop : [ `Fallthrough ] opcode| Instruction : Binsec_kernel.Instruction.t -> [< `Label | `Fallthrough ] opcode| Hook : {addr : Binsec_kernel.Virtual_address.t;info : string;} -> [< `Label | `Fallthrough ] opcode| Assign : {var : Binsec_kernel.Dba.Var.t;rval : Binsec_kernel.Dba.Expr.t;} -> [ `Fallthrough ] opcode| Clobber : Binsec_kernel.Dba.Var.t -> [ `Fallthrough ] opcode| Forget : Binsec_kernel.Dba.Var.t -> [ `Fallthrough ] opcode| Load : {var : Binsec_kernel.Dba.Var.t;base : string option;dir : Binsec_kernel.Machine.endianness;addr : Binsec_kernel.Dba.Expr.t;} -> [ `Fallthrough ] opcode| Store : {base : string option;dir : Binsec_kernel.Machine.endianness;addr : Binsec_kernel.Dba.Expr.t;rval : Binsec_kernel.Dba.Expr.t;} -> [ `Fallthrough ] opcode| Symbolize : Binsec_kernel.Dba.Var.t -> [ `Fallthrough ] opcode| Assume : Binsec_kernel.Dba.Expr.t -> [ `Fallthrough ] opcode| Assert : Binsec_kernel.Dba.Expr.t -> [ `Fallthrough ] opcode| Builtin : builtin -> [< `Fallthrough | `Terminator ] opcode| Goto : {target : Binsec_kernel.Virtual_address.t;tag : Binsec_kernel.Dba.tag;} -> [< `Fallthrough | `Terminator ] opcode| Jump : {target : Binsec_kernel.Dba.Expr.t;tag : Binsec_kernel.Dba.tag;} -> [ `Terminator ] opcode| Halt : [ `Terminator ] opcode| Cut : [ `Terminator ] opcode| Die : string -> [ `Terminator ] opcodetype node = | Fallthrough of {label : label;kind : fallthrough;succ : int;}| Branch of {label : label;test : Binsec_kernel.Dba.Expr.t;target : int;fallthrough : int;}| Terminator of {label : label;kind : terminator;}type stmt = | Nop| Label of stringlabel:
| Opcode of fallthrough| If of Binsec_kernel.Dba.Expr.t * stringif rval then goto label
| Goto of stringgoto label
| End of terminator