diff options
| author | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2018-10-09 07:40:52 +0200 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2018-10-09 08:17:50 +0200 |
| commit | e5c439d3b4ee7120fae3d15ae7106cce8d0dcbde (patch) | |
| tree | 4cd9776c937960779dd213f20a002a8a8880b92a /miasm2/expression/simplifications.py | |
| parent | a11964b49954c7bba71264b5b27e31cec01e8481 (diff) | |
| download | miasm-e5c439d3b4ee7120fae3d15ae7106cce8d0dcbde.tar.gz miasm-e5c439d3b4ee7120fae3d15ae7106cce8d0dcbde.zip | |
Simplifications: simplify by default high level op
Simplifify by default high level operators (<u, ...) with pure cst as arguments
Diffstat (limited to 'miasm2/expression/simplifications.py')
| -rw-r--r-- | miasm2/expression/simplifications.py | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/miasm2/expression/simplifications.py b/miasm2/expression/simplifications.py index e090d806..2807b4b3 100644 --- a/miasm2/expression/simplifications.py +++ b/miasm2/expression/simplifications.py @@ -46,9 +46,15 @@ class ExpressionSimplifier(object): simplifications_common.simp_double_signext, simplifications_common.simp_zeroext_eq_cst, + simplifications_common.simp_cmp_int_int, + simplifications_common.simp_ext_cst, + ], - m2_expr.ExprSlice: [simplifications_common.simp_slice], + m2_expr.ExprSlice: [ + simplifications_common.simp_slice, + simplifications_common.simp_slice_of_ext, + ], m2_expr.ExprCompose: [simplifications_common.simp_compose], m2_expr.ExprCond: [ simplifications_common.simp_cond, @@ -68,14 +74,18 @@ class ExpressionSimplifier(object): 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, - simplifications_cond.exec_equal], - m2_expr.ExprCond: [simplifications_cond.expr_simp_equal] - } + PASS_COND = { + m2_expr.ExprSlice: [ + simplifications_cond.expr_simp_inf_signed, + simplifications_cond.expr_simp_inf_unsigned_inversed + ], + m2_expr.ExprOp: [ + simplifications_cond.expr_simp_inverse, + ], + m2_expr.ExprCond: [ + simplifications_cond.expr_simp_equal + ] + } # Available passes lists are: |