B2R2


SCPValue Module

Functions and values

Function or value Description

SCPValue.add c1 c2

Full Usage: SCPValue.add c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.and c1 c2

Full Usage: SCPValue.and c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.binOp op c1 c2

Full Usage: SCPValue.binOp op c1 c2

Parameters:
Returns: SCPValue
op : BitVector -> BitVector -> 'a
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.cast op rt c

Full Usage: SCPValue.cast op rt c

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

SCPValue.concat c1 c2

Full Usage: SCPValue.concat c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.div c1 c2

Full Usage: SCPValue.div c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.divAux divop c1 c2

Full Usage: SCPValue.divAux divop c1 c2

Parameters:
Returns: SCPValue
divop : BitVector -> BitVector -> 'a
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.eq c1 c2

Full Usage: SCPValue.eq c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.extract c rt pos

Full Usage: SCPValue.extract c rt pos

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

SCPValue.ge c1 c2

Full Usage: SCPValue.ge c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.goingUp fromV toV

Full Usage: SCPValue.goingUp fromV toV

Parameters:
Returns: bool

Are we going towards TOP from a given value "fromV" to a new value "toV"? If so, our meet operation will not change the value, and we don't need to push a new task to the SSAWorkList.

fromV : SCPValue
toV : SCPValue
Returns: bool

SCPValue.gt c1 c2

Full Usage: SCPValue.gt c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.ite cond c1 c2

Full Usage: SCPValue.ite cond c1 c2

Parameters:
Returns: SCPValue
cond : SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.le c1 c2

Full Usage: SCPValue.le c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.lt c1 c2

Full Usage: SCPValue.lt c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.meet c1 c2

Full Usage: SCPValue.meet c1 c2

Parameters:
Returns: SCPValue

The meet operator.

c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.mod c1 c2

Full Usage: SCPValue.mod c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.mul c1 c2

Full Usage: SCPValue.mul c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.neg c

Full Usage: SCPValue.neg c

Parameters:
Returns: SCPValue
c : SCPValue
Returns: SCPValue

SCPValue.neq c1 c2

Full Usage: SCPValue.neq c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.not c

Full Usage: SCPValue.not c

Parameters:
Returns: SCPValue
c : SCPValue
Returns: SCPValue

SCPValue.or c1 c2

Full Usage: SCPValue.or c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.relOp op c1 c2

Full Usage: SCPValue.relOp op c1 c2

Parameters:
Returns: SCPValue
op : BitVector -> BitVector -> 'a
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.sar c1 c2

Full Usage: SCPValue.sar c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.sdiv c1 c2

Full Usage: SCPValue.sdiv c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.sge c1 c2

Full Usage: SCPValue.sge c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.sgt c1 c2

Full Usage: SCPValue.sgt c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.shl c1 c2

Full Usage: SCPValue.shl c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.shr c1 c2

Full Usage: SCPValue.shr c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.signExt rt c

Full Usage: SCPValue.signExt rt c

Parameters:
Returns: SCPValue
rt : RegType
c : SCPValue
Returns: SCPValue

SCPValue.sle c1 c2

Full Usage: SCPValue.sle c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.slt c1 c2

Full Usage: SCPValue.slt c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.smod c1 c2

Full Usage: SCPValue.smod c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.sub c1 c2

Full Usage: SCPValue.sub c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.unOp op _arg1

Full Usage: SCPValue.unOp op _arg1

Parameters:
Returns: SCPValue
op : BitVector -> 'a
_arg1 : SCPValue
Returns: SCPValue

SCPValue.xor c1 c2

Full Usage: SCPValue.xor c1 c2

Parameters:
Returns: SCPValue
c1 : SCPValue
c2 : SCPValue
Returns: SCPValue

SCPValue.zeroExt rt c

Full Usage: SCPValue.zeroExt rt c

Parameters:
Returns: SCPValue
rt : RegType
c : SCPValue
Returns: SCPValue