From 740475d5f45b8caa2c3c6fc51e657ecf4f3547e5 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Mon, 29 Sep 2014 10:33:25 +0100 Subject: Fix a bug in the insertion of parallel move. To make sure we do not connect interval siblings in the same parallel move, I added a new field in MoveOperands that tells for which instruction this move is for. A parallel move should not contains moves for the same instructions. The checks revealed a bug when connecting siblings, where we would choose the wrong parallel move. Change-Id: I70f27ec120886745c187071453c78da4c47c1dd2 --- compiler/optimizing/parallel_move_test.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'compiler/optimizing/parallel_move_test.cc') diff --git a/compiler/optimizing/parallel_move_test.cc b/compiler/optimizing/parallel_move_test.cc index 093856d497..863e107ee6 100644 --- a/compiler/optimizing/parallel_move_test.cc +++ b/compiler/optimizing/parallel_move_test.cc @@ -71,7 +71,8 @@ static HParallelMove* BuildParallelMove(ArenaAllocator* allocator, for (size_t i = 0; i < number_of_moves; ++i) { moves->AddMove(new (allocator) MoveOperands( Location::RegisterLocation(ManagedRegister(operands[i][0])), - Location::RegisterLocation(ManagedRegister(operands[i][1])))); + Location::RegisterLocation(ManagedRegister(operands[i][1])), + nullptr)); } return moves; } -- cgit v1.2.3-59-g8ed1b