Просмотр исходного кода

Reverted usage of RESERVED_OUT.

Taddeus Kroes 14 лет назад
Родитель
Сommit
c81fa74aff
1 измененных файлов с 1 добавлено и 7 удалено
  1. 1 7
      src/liveness.py

+ 1 - 7
src/liveness.py

@@ -38,8 +38,7 @@ def is_reg_dead_after(reg, block, index, known_jump_targets=[]):
 
 
     # If dead within the same block, check if the register is in the block's
     # If dead within the same block, check if the register is in the block's
     # live_out set
     # live_out set
-    #return reg not in RESERVED_OUT and reg not in block.live_out
-    return reg not in block.live_out
+    return reg not in RESERVED_OUT and reg not in block.live_out
 
 
 
 
 def create_use_def(block):
 def create_use_def(block):
@@ -94,12 +93,10 @@ def create_in_out(blocks):
 
 
     # Start by analyzing the exit points
     # Start by analyzing the exit points
     work_list = set()
     work_list = set()
-    exit_points = []
 
 
     for b in blocks:
     for b in blocks:
         if b.edges_from and not b.edges_to:
         if b.edges_from and not b.edges_to:
             work_list.add(b)
             work_list.add(b)
-            exit_points.append(b)
 
 
     while len(work_list):
     while len(work_list):
         b = work_list.pop()
         b = work_list.pop()
@@ -118,6 +115,3 @@ def create_in_out(blocks):
         if new_in != b.live_in:
         if new_in != b.live_in:
             b.live_in = new_in
             b.live_in = new_in
             work_list |= set(b.edges_from)
             work_list |= set(b.edges_from)
-
-    for b in exit_points:
-        b.live_out |= set(RESERVED_OUT)