コード例 #1
0
 def test_eliminate_common_subexpressions_assigned(self):
     b = B([S('command', 'addu', '$regC', '$regA', '$regB'),
            S('command', 'li', '$regA', '0x00000001'),
            S('command', 'addu', '$regD', '$regA', '$regB')])
     e = copy(b.statements)
     liveness.create_in_out([b])
     eliminate_common_subexpressions(b)
     self.assertEqual(b.statements, e)
コード例 #2
0
 def test_eliminate_common_subexpressions_simple(self):
     b = B([S('command', 'addu', '$regC', '$regA', '$regB'),
            S('command', 'addu', '$regD', '$regA', '$regB')])
     e = [S('command', 'addu', '$8', '$regA', '$regB'), \
          S('command', 'move', '$regC', '$8'), \
          S('command', 'move', '$regD', '$8')]
     liveness.create_in_out([b])
     eliminate_common_subexpressions(b)
     self.assertEqual(b.statements, e)