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)
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)