Lines Matching refs:source
2 // Redistribution and use in source and binary forms, with or without
6 // * Redistributions of source code must retain the above copyright
54 if (!move.IsEliminated() && !move.source()->IsConstantOperand()) {
66 ASSERT(moves_[i].source()->IsConstantOperand());
77 // moves to perform, ignoring any move that is redundant (the source is
96 // be encountering the starting move again. So by spilling the source of
99 // its destination. All other moves from the spilled source have been
110 ASSERT(moves_[index].source() != NULL); // Or else it will look eliminated.
115 // dependencies. Any unperformed, unpending move with a source the same
123 // and all other moves with the same source as moves_[root_index_] are
133 // In this case, we have a cycle, and we save the source of this move to
162 // We save in a register the value that should end up in the source of
164 // in that move, we save the value to that source.
165 ASSERT(moves_[index].destination()->Equals(moves_[root_index_].source()));
168 LOperand* source = moves_[index].source();
170 if (source->IsRegister()) {
171 __ mov(kLithiumScratchReg, cgen_->ToRegister(source));
172 } else if (source->IsStackSlot()) {
173 __ lw(kLithiumScratchReg, cgen_->ToMemOperand(source));
174 } else if (source->IsDoubleRegister()) {
175 __ mov_d(kLithiumScratchDouble, cgen_->ToDoubleRegister(source));
176 } else if (source->IsDoubleStackSlot()) {
177 __ ldc1(kLithiumScratchDouble, cgen_->ToMemOperand(source));
211 LOperand* source = moves_[index].source();
214 // Dispatch on the source and destination operand kinds. Not all
217 if (source->IsRegister()) {
218 Register source_register = cgen_->ToRegister(source);
226 } else if (source->IsStackSlot()) {
227 MemOperand source_operand = cgen_->ToMemOperand(source);
236 // Therefore we can't use 'at'. It is OK if the read from the source
251 } else if (source->IsConstantOperand()) {
252 LConstantOperand* constant_source = LConstantOperand::cast(source);
273 } else if (source->IsDoubleRegister()) {
274 DoubleRegister source_register = cgen_->ToDoubleRegister(source);
283 } else if (source->IsDoubleStackSlot()) {
284 MemOperand source_operand = cgen_->ToMemOperand(source);
294 cgen_->ToHighMemOperand(source);