def test_propagate_copies_false(self): arguments = [self.foo, S('command', 'move', '$1', '$2'), S('command', 'move', '$10', '$20'), S('command', 'addu', '$1', '$5', 1), S('command', 'addu', '$3', '$1', '$4'), self.bar] block = B(arguments) find_basic_blocks([block]) generate_flow_graph([block]) reaching_definitions.create_in_out([block]) copy_propagation.create_in_out([block]) self.assertFalse(propagate_copies(block)) self.assertEqual(block.statements, arguments)
def test_propagate_copies_other_arg(self): block = B([self.foo, S('command', 'move', '$1', '$2'), self.foo, S('command', 'addu', '$3', '$4', '$1'), self.bar]) find_basic_blocks([block]) generate_flow_graph([block]) reaching_definitions.create_in_out([block]) copy_propagation.create_in_out([block]) self.assertTrue(propagate_copies(block)) self.assertEqual(block.statements, [self.foo, S('command', 'move', '$1', '$2'), self.foo, S('command', 'addu', '$3', '$4', '$2'), self.bar])