class documentation

class SimplificationManager: (source)

View In Hierarchy

Undocumented

Static Method and_mask_comparing_against_constant_simplifier This simplifier handles the following case:
Static Method bitwise_add_simplifier Undocumented
Static Method bitwise_and_simplifier Undocumented
Static Method bitwise_mul_simplifier Undocumented
Static Method bitwise_or_simplifier Undocumented
Static Method bitwise_sub_simplifier Undocumented
Static Method bitwise_xor_simplifier Undocumented
Static Method bitwise_xor_simplifier_minmax Undocumented
Static Method boolean_and_simplifier Undocumented
Static Method boolean_not_simplifier Undocumented
Static Method boolean_or_simplifier Undocumented
Static Method bv_reverse_simplifier Undocumented
Static Method concat_simplifier Undocumented
Static Method eq_simplifier Undocumented
Static Method extract_simplifier Undocumented
Static Method fptobv_simplifier Undocumented
Static Method fptofp_simplifier Undocumented
Static Method if_simplifier Undocumented
Static Method lshift_simplifier Undocumented
Static Method lshr_simplifier Undocumented
Static Method ne_simplifier Undocumented
Static Method rotate_shift_mask_simplifier Handles the following case: ((A << a) | (A >> (_N - a))) & mask, where A being a BVS, a being a integer that is less than _N, _N is either 32 or 64, and mask can be evaluated to 0xffffffff (64-bit) or 0xffff (32-bit) after reversing the rotate-shift operation.
Static Method rshift_simplifier Undocumented
Static Method signext_simplifier Undocumented
Static Method str_reverse_simplifier Undocumented
Static Method zeroext_comparing_against_simplifier This simplifier handles the following cases:
Static Method zeroext_extract_comparing_against_constant_simplifier This simplifier handles the following cases:
Static Method zeroext_simplifier Undocumented
Method __init__ Undocumented
Method simplify Undocumented
Static Method _deduplicate_filter Undocumented
Static Method _flatten_simplifier Undocumented
Instance Variable _simplifiers Undocumented
@staticmethod
def and_mask_comparing_against_constant_simplifier(op, a, b): (source)

This simplifier handles the following case: A & mask == b, and A & mask != b If the high bits of A are 0, `& mask` can be eliminated.

@staticmethod
def bitwise_add_simplifier(*args): (source)

Undocumented

@staticmethod
def bitwise_and_simplifier(a, b, *args): (source)

Undocumented

@staticmethod
def bitwise_mul_simplifier(*args): (source)

Undocumented

@staticmethod
def bitwise_or_simplifier(a, b, *args): (source)

Undocumented

@staticmethod
def bitwise_sub_simplifier(a, b): (source)

Undocumented

@staticmethod
def bitwise_xor_simplifier(a, b, *args): (source)

Undocumented

@staticmethod
def bitwise_xor_simplifier_minmax(a, b): (source)

Undocumented

@staticmethod
def boolean_and_simplifier(*args): (source)

Undocumented

@staticmethod
def boolean_not_simplifier(body): (source)

Undocumented

@staticmethod
def boolean_or_simplifier(*args): (source)

Undocumented

@staticmethod
def bv_reverse_simplifier(body): (source)

Undocumented

@staticmethod
def concat_simplifier(*args): (source)

Undocumented

@staticmethod
def eq_simplifier(a, b): (source)

Undocumented

@staticmethod
def extract_simplifier(high, low, val): (source)

Undocumented

@staticmethod
def fptobv_simplifier(the_fp): (source)

Undocumented

@staticmethod
def fptofp_simplifier(*args): (source)

Undocumented

@staticmethod
def if_simplifier(cond, if_true, if_false): (source)

Undocumented

@staticmethod
def lshift_simplifier(val, shift): (source)

Undocumented

@staticmethod
def lshr_simplifier(val, shift): (source)

Undocumented

@staticmethod
def ne_simplifier(a, b): (source)

Undocumented

@staticmethod
def rotate_shift_mask_simplifier(a, b): (source)

Handles the following case: ((A << a) | (A >> (_N - a))) & mask, where A being a BVS, a being a integer that is less than _N, _N is either 32 or 64, and mask can be evaluated to 0xffffffff (64-bit) or 0xffff (32-bit) after reversing the rotate-shift operation. It will be simplified to: (A & (mask >>> a)) <<< a

@staticmethod
def rshift_simplifier(val, shift): (source)

Undocumented

@staticmethod
def signext_simplifier(n, e): (source)

Undocumented

@staticmethod
def str_reverse_simplifier(arg): (source)

Undocumented

@staticmethod
def zeroext_comparing_against_simplifier(op, a, b): (source)

This simplifier handles the following cases: ZeroExt(n, A) == b, and ZeroExt(n, A) != b If the high bits of b are all zeros (in case of __eq__) or have at least one ones (in case of __ne__), ZeroExt can be eliminated.

@staticmethod
def zeroext_extract_comparing_against_constant_simplifier(op, a, b): (source)

This simplifier handles the following cases: Extract(hi, 0, Concat(0, A)) op b, and Extract(hi, 0, ZeroExt(n, A)) op b Extract can be eliminated if the high bits of Concat(0, A) or ZeroExt(n, A) are all zeros.

@staticmethod
def zeroext_simplifier(n, e): (source)

Undocumented

def __init__(self): (source)

Undocumented

def simplify(self, op, args): (source)

Undocumented

@staticmethod
def _deduplicate_filter(args): (source)

Undocumented

@staticmethod
def _flatten_simplifier(op_name, filter_func, *args, **kwargs): (source)

Undocumented

_simplifiers = (source)

Undocumented