Module BufferOverrunSemantics.Prune
type t
=
{
prune_pairs : BufferOverrunDomain.PrunePairs.t;
mem : BufferOverrunDomain.Mem.t;
}
val update_mem_in_prune : BufferOverrunDomain.PrunePairs.key -> InferModules__BufferOverrunDomain.CoreVal.t -> ?pruning_exp:BufferOverrunDomain.PruningExp.t -> t -> t
val prune_unop : InferIR.Exp.t -> t -> t
val prune_binop_left : InferIR.Typ.IntegerWidths.t -> InferIR.Exp.t -> t -> t
val prune_binop_right : InferIR.Typ.IntegerWidths.t -> InferIR.Exp.t -> t -> t
val is_unreachable_constant : InferIR.Typ.IntegerWidths.t -> InferIR.Exp.t -> BufferOverrunDomain.Mem.t -> bool
val prune_unreachable : InferIR.Typ.IntegerWidths.t -> InferIR.Exp.t -> t -> t
val prune_helper : InferIR.Typ.IntegerWidths.t -> InferIR.Exp.t -> t -> t
val prune : InferIR.Typ.IntegerWidths.t -> InferIR.Exp.t -> BufferOverrunDomain.Mem.t -> BufferOverrunDomain.Mem.t