Header menu logo B2R2

ConstantDomain Module

A domain for constant propagation analysis.

Types

Type Description

Lattice

Functions and values

Function or value Description

ConstantDomain.(mod) c1 c2

Full Usage: ConstantDomain.(mod) c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.``and`` c1 c2

Full Usage: ConstantDomain.``and`` c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.``not`` c

Full Usage: ConstantDomain.``not`` c

Parameters:
Returns: Lattice
c : Lattice
Returns: Lattice

ConstantDomain.``or`` c1 c2

Full Usage: ConstantDomain.``or`` c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.add c1 c2

Full Usage: ConstantDomain.add c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.cast op rt c

Full Usage: ConstantDomain.cast op rt c

Parameters:
Returns: Lattice
op : BitVector * 'a -> 'b
rt : 'a
c : Lattice
Returns: Lattice

ConstantDomain.concat c1 c2

Full Usage: ConstantDomain.concat c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.div c1 c2

Full Usage: ConstantDomain.div c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.eq c1 c2

Full Usage: ConstantDomain.eq c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.extract c rt pos

Full Usage: ConstantDomain.extract c rt pos

Parameters:
Returns: Lattice
c : Lattice
rt : RegType
pos : int
Returns: Lattice

ConstantDomain.ge c1 c2

Full Usage: ConstantDomain.ge c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.gt c1 c2

Full Usage: ConstantDomain.gt c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.ite cond c1 c2

Full Usage: ConstantDomain.ite cond c1 c2

Parameters:
Returns: Lattice
cond : Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.join a b

Full Usage: ConstantDomain.join a b

Parameters:
Returns: Lattice

Joins two constant domains.

a : Lattice
b : Lattice
Returns: Lattice

ConstantDomain.le c1 c2

Full Usage: ConstantDomain.le c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.lt c1 c2

Full Usage: ConstantDomain.lt c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.mul c1 c2

Full Usage: ConstantDomain.mul c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.neg c

Full Usage: ConstantDomain.neg c

Parameters:
Returns: Lattice
c : Lattice
Returns: Lattice

ConstantDomain.neq c1 c2

Full Usage: ConstantDomain.neq c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.relOp op c1 c2

Full Usage: ConstantDomain.relOp op c1 c2

Parameters:
Returns: Lattice
op : BitVector * BitVector -> 'a
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.sar c1 c2

Full Usage: ConstantDomain.sar c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.sdiv c1 c2

Full Usage: ConstantDomain.sdiv c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.sge c1 c2

Full Usage: ConstantDomain.sge c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.sgt c1 c2

Full Usage: ConstantDomain.sgt c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.shl c1 c2

Full Usage: ConstantDomain.shl c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.shr c1 c2

Full Usage: ConstantDomain.shr c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.signExt rt c

Full Usage: ConstantDomain.signExt rt c

Parameters:
Returns: Lattice
rt : RegType
c : Lattice
Returns: Lattice

ConstantDomain.sle c1 c2

Full Usage: ConstantDomain.sle c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.slt c1 c2

Full Usage: ConstantDomain.slt c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.smod c1 c2

Full Usage: ConstantDomain.smod c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.sub c1 c2

Full Usage: ConstantDomain.sub c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.subsume oldDomain newDomain

Full Usage: ConstantDomain.subsume oldDomain newDomain

Parameters:
Returns: bool

Check if the transition from the old domain to the new domain is non-monotonic or the same.

oldDomain : Lattice
newDomain : Lattice
Returns: bool

ConstantDomain.xor c1 c2

Full Usage: ConstantDomain.xor c1 c2

Parameters:
Returns: Lattice
c1 : Lattice
c2 : Lattice
Returns: Lattice

ConstantDomain.zeroExt rt c

Full Usage: ConstantDomain.zeroExt rt c

Parameters:
Returns: Lattice
rt : RegType
c : Lattice
Returns: Lattice

Type something to start searching.