about summary refs log tree commit diff stats
path: root/miasm2/analysis/data_flow.py
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2018-02-09 10:16:58 +0100
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2018-02-09 10:55:39 +0100
commitc63ae8e10af699f2cd7bacd14a39112f28cf71ab (patch)
tree32cb299fb122719f3679d38a5821d90a853cb179 /miasm2/analysis/data_flow.py
parent4b257d2d82c6323c6bc521017d0649b8cc7b3747 (diff)
downloadmiasm-c63ae8e10af699f2cd7bacd14a39112f28cf71ab.tar.gz
miasm-c63ae8e10af699f2cd7bacd14a39112f28cf71ab.zip
IRBlock: getitem/len on assignblks
Diffstat (limited to '')
-rw-r--r--miasm2/analysis/data_flow.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/miasm2/analysis/data_flow.py b/miasm2/analysis/data_flow.py
index da79cf75..3a789cc3 100644
--- a/miasm2/analysis/data_flow.py
+++ b/miasm2/analysis/data_flow.py
@@ -59,7 +59,7 @@ class ReachingDefinitions(dict):
         predecessor_state = {}
         for pred_lbl in self.ir_a.graph.predecessors(block.label):
             pred = self.ir_a.blocks[pred_lbl]
-            for lval, definitions in self.get_definitions(pred_lbl, len(pred.assignblks)).iteritems():
+            for lval, definitions in self.get_definitions(pred_lbl, len(pred)).iteritems():
                 predecessor_state.setdefault(lval, set()).update(definitions)
 
         modified = self.get((block.label, 0)) != predecessor_state
@@ -67,7 +67,7 @@ class ReachingDefinitions(dict):
             return False
         self[(block.label, 0)] = predecessor_state
 
-        for index in xrange(len(block.assignblks)):
+        for index in xrange(len(block)):
             modified |= self.process_instruction(block, index)
         return modified
 
@@ -79,7 +79,7 @@ class ReachingDefinitions(dict):
         (@block, @assignblk_index + 1).
         """
 
-        instr = block.assignblks[assignblk_index]
+        instr = block[assignblk_index]
         defs = self.get_definitions(block.label, assignblk_index).copy()
         for lval in instr:
             defs.update({lval: set([(block.label, assignblk_index)])})
@@ -183,7 +183,7 @@ class DiGraphDefUse(DiGraph):
                                       attr={'align': 'center',
                                             'colspan': 2,
                                             'bgcolor': 'grey'})
-        src = self._blocks[lbl].assignblks[index][reg]
+        src = self._blocks[lbl][index][reg]
         line = "%s = %s" % (reg, src)
         yield self.DotCellDescription(text=line, attr={})
         yield self.DotCellDescription(text="", attr={})
@@ -215,7 +215,7 @@ def dead_simp_useful_instrs(defuse, reaching_defs):
         # Block has a nonexistant successor or is a leaf
         if keep_all_definitions or (len(successors) == 0):
             valid_definitions = reaching_defs.get_definitions(block_lbl,
-                                                              len(block.assignblks))
+                                                              len(block))
             for lval, definitions in valid_definitions.iteritems():
                 if (lval in ir_a.get_out_regs(block)
                     or keep_all_definitions):