Lines Matching refs:source

26   // moves to perform, ignoring any move that is redundant (the source is
104 // Update the source of `move`, knowing that `updated_location` has been swapped
108 Location source = move->GetSource();
109 if (LowOf(updated_location).Equals(source)) {
111 } else if (HighOf(updated_location).Equals(source)) {
114 DCHECK(updated_location.Equals(source)) << updated_location << " " << source;
124 // which means that a call to PerformMove could change any source operand
143 // dependencies. Any unperformed, unpending move with a source the same
150 // Though PerformMove can change any source operand in the move graph,
153 // For example, assume there is a non-blocking move with source A
154 // and this move is blocked on source B and there is a swap of A and
165 // updates other moves's source.
185 // This move's source may have changed due to swaps to resolve cycles and
217 // Any unperformed (including pending) move with a source of either
218 // this move's source or destination needs to have their source
220 Location source = move->GetSource();
224 if (other_move->Blocks(source)) {
225 UpdateSourceOf(other_move, source, swap_destination);
227 UpdateSourceOf(other_move, swap_destination, source);
330 Location source = move->GetSource();
341 UpdateMoveSource(source, destination);
404 // we will update source operand in the move graph to reduce dependencies in
417 // as their source to use '2' instead (see `UpdateMoveSource()`. In our example
431 // dependencies. Any unperformed, unpending move with a source the same
448 Location source = move->GetSource();
456 Location::Kind kind = source.GetKind();
465 UpdateMoveSource(source, scratch);
472 UpdateMoveSource(source, destination);
479 while ((pending_move = GetUnblockedPendingMove(source)) != nullptr) {
496 // Only scratch overlapping with performed move source can be unblocked.
510 // a dependency between the two. If we update the source location from 1 to 2, we
523 void ParallelMoveResolverNoSwap::AddPendingMove(Location source,
525 pending_moves_.push_back(new (allocator_) MoveOperands(source, destination, type, nullptr));