about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--miasm2/ir/ir.py1
-rw-r--r--miasm2/jitter/llvmconvert.py3
2 files changed, 3 insertions, 1 deletions
diff --git a/miasm2/ir/ir.py b/miasm2/ir/ir.py
index 2509e901..7c39cf04 100644
--- a/miasm2/ir/ir.py
+++ b/miasm2/ir/ir.py
@@ -810,6 +810,7 @@ class IntermediateRepresentation(object):
             if (len(self.graph.predecessors(label)) == 0 and
                 len(self.graph.successors(label)) == 0):
                 self.graph.del_node(label)
+                del self.blocks[label]
         return modified
 
     def merge_blocks(self):
diff --git a/miasm2/jitter/llvmconvert.py b/miasm2/jitter/llvmconvert.py
index ed55aff8..7729d12c 100644
--- a/miasm2/jitter/llvmconvert.py
+++ b/miasm2/jitter/llvmconvert.py
@@ -512,7 +512,8 @@ class LLVMFunction():
 
         Get or create a (LLVM module-)global constant with *name* or *value*.
         """
-        module = self.mod
+        if name in self.mod.globals:
+            return self.mod.globals[name]
         data = llvm_ir.GlobalVariable(self.mod, value.type, name=name)
         data.global_constant = True
         data.initializer = value