about summary refs log tree commit diff stats
path: root/miasm2/expression/simplifications_common.py
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2018-10-12 13:49:37 +0200
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2018-10-12 13:49:37 +0200
commit9503c250c5524a6c388aba032be4e34517b358f9 (patch)
treecb9ddd00da3917c31b570b5b9ca849ac4803c55c /miasm2/expression/simplifications_common.py
parent3cd3675165cd96c030401fbb1e6392898507a71b (diff)
downloadmiasm-9503c250c5524a6c388aba032be4e34517b358f9.tar.gz
miasm-9503c250c5524a6c388aba032be4e34517b358f9.zip
Expression: replace arg by ptr in ExprMem
Diffstat (limited to 'miasm2/expression/simplifications_common.py')
-rw-r--r--miasm2/expression/simplifications_common.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/miasm2/expression/simplifications_common.py b/miasm2/expression/simplifications_common.py
index e7dacc91..9a59fbd4 100644
--- a/miasm2/expression/simplifications_common.py
+++ b/miasm2/expression/simplifications_common.py
@@ -509,7 +509,7 @@ def simp_slice(e_s, expr):
     if (expr.arg.is_mem() and
           expr.start == 0 and
           expr.arg.size > expr.stop and expr.stop % 8 == 0):
-        return ExprMem(expr.arg.arg, size=expr.stop)
+        return ExprMem(expr.arg.ptr, size=expr.stop)
     # distributivity of slice and &
     # (a & int)[x:y] => 0 if int[x:y] == 0
     if expr.arg.is_op("&") and expr.arg.args[-1].is_int():
@@ -576,9 +576,9 @@ def simp_compose(e_s, expr):
     for i, arg in enumerate(args[:-1]):
         nxt = args[i + 1]
         if arg.is_mem() and nxt.is_mem():
-            gap = e_s(nxt.arg - arg.arg)
+            gap = e_s(nxt.ptr - arg.ptr)
             if gap.is_int() and arg.size % 8 == 0 and int(gap) == arg.size / 8:
-                args = args[:i] + [ExprMem(arg.arg,
+                args = args[:i] + [ExprMem(arg.ptr,
                                           arg.size + nxt.size)] + args[i + 2:]
                 return ExprCompose(*args)
 
@@ -664,8 +664,8 @@ def simp_mem(e_s, expr):
     "Common simplifications on ExprMem"
 
     # @32[x?a:b] => x?@32[a]:@32[b]
-    if expr.arg.is_cond():
-        cond = expr.arg
+    if expr.ptr.is_cond():
+        cond = expr.ptr
         ret = ExprCond(cond.cond,
                        ExprMem(cond.src1, expr.size),
                        ExprMem(cond.src2, expr.size))