diff options
| author | ajax <devnull@localhost> | 2014-06-12 17:34:24 +0200 |
|---|---|---|
| committer | ajax <devnull@localhost> | 2014-06-12 17:34:24 +0200 |
| commit | 82f6759b48be6eeaaf8dbe74c73a4dcd84b7ea38 (patch) | |
| tree | 94fbc3f896b58ef06c4f2bb37185551eab52840d /miasm2/expression/simplifications.py | |
| parent | ad7b0f5d48ca32eb0f4212bb7da992798d0d2da1 (diff) | |
| download | miasm-82f6759b48be6eeaaf8dbe74c73a4dcd84b7ea38.tar.gz miasm-82f6759b48be6eeaaf8dbe74c73a4dcd84b7ea38.zip | |
Simplifications: Add basic conditions detection
Diffstat (limited to '')
| -rw-r--r-- | miasm2/expression/simplifications.py | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/miasm2/expression/simplifications.py b/miasm2/expression/simplifications.py index 10264ed7..e93ccd8c 100644 --- a/miasm2/expression/simplifications.py +++ b/miasm2/expression/simplifications.py @@ -1,9 +1,9 @@ -# -# Simplification methods library # -# +# # +# Simplification methods library # +# # import miasm2.expression.expression as m2_expr -from miasm2.expression import simplifications_common +from miasm2.expression import simplifications_common, simplifications_cond from miasm2.expression.expression_helper import fast_unify # Expression Simplifier @@ -34,6 +34,15 @@ class ExpressionSimplifier(object): # Heavy passes PASS_HEAVY = {} + # Cond passes + PASS_COND = {m2_expr.ExprSlice: [simplifications_cond.expr_simp_inf_signed, + simplifications_cond.expr_simp_inf_unsigned_inversed], + m2_expr.ExprOp: [simplifications_cond.exec_inf_unsigned, + simplifications_cond.exec_inf_signed, + simplifications_cond.expr_simp_inverse], + } + + def __init__(self): self.expr_simp_cb = {} |