|
@@ -337,7 +337,10 @@ class LoweringState(object):
|
|
|
if definition in self.definition_loads:
|
|
|
return self.definition_loads[definition]
|
|
|
|
|
|
- result = self.__create_value_load(definition.value)
|
|
|
+ if isinstance(definition.value, cfg_ir.Definition):
|
|
|
+ result = self.load_definition(definition.value)
|
|
|
+ else:
|
|
|
+ result = self.__create_value_load(definition.value)
|
|
|
self.definition_loads[definition] = result
|
|
|
return result
|
|
|
|
|
@@ -351,6 +354,9 @@ class LoweringState(object):
|
|
|
|
|
|
def lower_definition(self, definition):
|
|
|
"""Lowers the given definition to a tree."""
|
|
|
+ if isinstance(definition.value, cfg_ir.Definition):
|
|
|
+ return tree_ir.EmptyInstruction()
|
|
|
+
|
|
|
instruction = definition.value
|
|
|
tree_instruction = self.lower_value(instruction)
|
|
|
def_load = self.load_definition(definition)
|