Lines Matching defs:source

2 // Use of this source code is governed by a BSD-style license that can be
28 const LocationOperand& src_loc = LocationOperand::cast(move->source());
92 // Remove redundant moves, collect source kinds and destination kinds to
105 source_kinds.Add(GetKind(move->source()));
118 assembler_->AssembleMove(&move->source(), &move->destination());
158 // call to PerformMove could change any source operand in the move graph.
164 InstructionOperand source = move->source();
165 DCHECK(!source.IsInvalid()); // Or else it will look eliminated.
174 // Any unperformed, unpending move with a source the same as this one's
180 if (other->source().InterferesWith(destination)) {
182 LocationOperand::cast(other->source()).representation() >
189 if (!other->source().InterferesWith(destination)) continue;
191 // Though PerformMove can change any source operand in the move graph,
193 // miss any). Assume there is a non-blocking move with source A and this
194 // move is blocked on source B and there is a swap of A and B. Then A and
204 // This move's source may have changed due to swaps to resolve cycles and so
206 source = move->source();
207 if (source.EqualsCanonicalized(destination)) {
222 move->source().InterferesWith(destination);
226 assembler_->AssembleMove(&source, &destination);
231 // Ensure source is a register or both are stack slots, to limit swap cases.
232 if (source.IsStackSlot() || source.IsFPStackSlot()) {
233 std::swap(source, destination);
235 assembler_->AssembleSwap(&source, &destination);
238 // Update outstanding moves whose source may now have been moved.
244 if (source.InterferesWith(other->source())) {
245 if (LocationOperand::cast(other->source()).representation() >
248 if (!source.InterferesWith(other->source())) continue;
251 } else if (destination.InterferesWith(other->source())) {
252 if (LocationOperand::cast(other->source()).representation() >
255 if (!destination.InterferesWith(other->source())) continue;
257 other->set_source(source);
263 if (source.EqualsCanonicalized(other->source())) {
265 } else if (destination.EqualsCanonicalized(other->source())) {
266 other->set_source(source);