/art/compiler/optimizing/ |
H A D | parallel_move_resolver.cc | 26 // the same as the destination, the destination is ignored and 121 // Clear this move's destination to indicate a pending move. The actual 122 // destination is saved in a stack-allocated local. Recursion may allow 125 Location destination = move->MarkPending(); local 129 // as this one's destination blocks this one so recursively perform all 134 if (other_move.Blocks(destination) && !other_move.IsPending()) { 141 // not be swapped). Since this move's destination is B and there is 160 moves_.Get(index)->ClearPending(destination); 167 // pending, so restore its destination 315 Location destination = move->GetDestination(); local 416 Location destination = move->MarkPending(); local 509 AddPendingMove(Location source, Location destination, Primitive::Type type) argument 521 Location destination = move->GetDestination(); local [all...] |
H A D | register_allocator.cc | 1286 static bool IsValidDestination(Location destination) { argument 1287 return destination.IsRegister() 1288 || destination.IsRegisterPair() 1289 || destination.IsFpuRegister() 1290 || destination.IsFpuRegisterPair() 1291 || destination.IsStackSlot() 1292 || destination.IsDoubleStackSlot(); 1297 Location destination, 1304 move->AddMove(source.ToLow(), destination.ToLow(), Primitive::kPrimInt, instruction); 1305 move->AddMove(source.ToHigh(), destination 1295 AddMove(HParallelMove* move, Location source, Location destination, HInstruction* instruction, Primitive::Type type) const argument 1559 Location destination = next_sibling->ToLocation(); local 1629 LiveInterval* destination = interval->GetSiblingAt(to->GetLifetimeStart()); local 1767 Location destination = phi->GetLiveInterval()->ToLocation(); local [all...] |
H A D | builder.cc | 1172 uint8_t destination, 1200 UpdateLocal(destination, current_block_->GetLastInstruction()); 2236 uint8_t destination = instruction.VRegA_22c(); local 2239 if (!BuildTypeCheck(instruction, destination, reference, type_index, dex_pc)) { 1171 BuildTypeCheck(const Instruction& instruction, uint8_t destination, uint8_t reference, uint16_t type_index, uint32_t dex_pc) argument
|
H A D | code_generator_arm.cc | 711 void CodeGeneratorARM::Move32(Location destination, Location source) { argument 712 if (source.Equals(destination)) { 715 if (destination.IsRegister()) { 717 __ Mov(destination.AsRegister<Register>(), source.AsRegister<Register>()); 719 __ vmovrs(destination.AsRegister<Register>(), source.AsFpuRegister<SRegister>()); 721 __ LoadFromOffset(kLoadWord, destination.AsRegister<Register>(), SP, source.GetStackIndex()); 723 } else if (destination.IsFpuRegister()) { 725 __ vmovsr(destination.AsFpuRegister<SRegister>(), source.AsRegister<Register>()); 727 __ vmovs(destination.AsFpuRegister<SRegister>(), source.AsFpuRegister<SRegister>()); 729 __ LoadSFromOffset(destination 745 Move64(Location destination, Location source) argument 3576 Location destination = move->GetDestination(); local 3708 Location destination = move->GetDestination(); local 3774 LOG(FATAL) << "Unimplemented" << source << " <-> " << destination; local [all...] |
H A D | code_generator_arm64.cc | 700 void CodeGeneratorARM64::MoveConstant(CPURegister destination, HConstant* constant) { argument 702 __ Mov(Register(destination), constant->AsIntConstant()->GetValue()); 704 __ Mov(Register(destination), constant->AsLongConstant()->GetValue()); 706 __ Mov(Register(destination), 0); 708 __ Fmov(FPRegister(destination), constant->AsFloatConstant()->GetValue()); 711 __ Fmov(FPRegister(destination), constant->AsDoubleConstant()->GetValue()); 727 void CodeGeneratorARM64::MoveLocation(Location destination, Location source, Primitive::Type type) { argument 728 if (source.Equals(destination)) { 732 // A valid move can always be inferred from the destination and source 738 if (destination 1402 MemOperand destination = HeapOperand(obj); local [all...] |
H A D | code_generator_mips64.cc | 592 void CodeGeneratorMIPS64::MoveLocation(Location destination, argument 595 if (source.Equals(destination)) { 599 // A valid move can always be inferred from the destination and source 605 if (destination.IsRegister() || destination.IsFpuRegister()) { 613 type = destination.IsRegister() ? Primitive::kPrimInt : Primitive::kPrimFloat; 619 type = destination.IsRegister() ? Primitive::kPrimLong : Primitive::kPrimDouble; 622 DCHECK((destination.IsFpuRegister() && Primitive::IsFloatingPointType(type)) || 623 (destination.IsRegister() && !Primitive::IsFloatingPointType(type))); 629 destination [all...] |
H A D | code_generator_x86.cc | 615 void CodeGeneratorX86::Move32(Location destination, Location source) { argument 616 if (source.Equals(destination)) { 619 if (destination.IsRegister()) { 621 __ movl(destination.AsRegister<Register>(), source.AsRegister<Register>()); 623 __ movd(destination.AsRegister<Register>(), source.AsFpuRegister<XmmRegister>()); 626 __ movl(destination.AsRegister<Register>(), Address(ESP, source.GetStackIndex())); 628 } else if (destination.IsFpuRegister()) { 630 __ movd(destination.AsFpuRegister<XmmRegister>(), source.AsRegister<Register>()); 632 __ movaps(destination.AsFpuRegister<XmmRegister>(), source.AsFpuRegister<XmmRegister>()); 635 __ movss(destination 655 Move64(Location destination, Location source) argument 4055 Location destination = move->GetDestination(); local 4207 Location destination = move->GetDestination(); local 4255 LOG(FATAL) << "Unimplemented: source: " << source << ", destination: " << destination; local [all...] |
H A D | code_generator_x86_64.cc | 616 void CodeGeneratorX86_64::Move(Location destination, Location source) { argument 617 if (source.Equals(destination)) { 620 if (destination.IsRegister()) { 622 __ movq(destination.AsRegister<CpuRegister>(), source.AsRegister<CpuRegister>()); 624 __ movd(destination.AsRegister<CpuRegister>(), source.AsFpuRegister<XmmRegister>()); 626 __ movl(destination.AsRegister<CpuRegister>(), 630 __ movq(destination.AsRegister<CpuRegister>(), 633 } else if (destination.IsFpuRegister()) { 635 __ movd(destination.AsFpuRegister<XmmRegister>(), source.AsRegister<CpuRegister>()); 637 __ movaps(destination 3902 Location destination = move->GetDestination(); local 4062 Location destination = move->GetDestination(); local 4091 LOG(FATAL) << "Unimplemented swap between " << source << " and " << destination; local [all...] |
H A D | nodes.h | 3822 Location destination, 3825 : source_(source), destination_(destination), type_(type), instruction_(instruction) {} 3834 // destination (but not the source). 3858 // destination are the same, or if its destination is unneeded. 3901 Location destination, 3905 DCHECK(destination.IsValid()); 3916 DCHECK_NE(destination.GetKind(), moves_.Get(i).GetDestination().GetKind()) 3925 DCHECK(!destination.OverlapsWith(moves_.Get(i).GetDestination())) 3926 << "Overlapped destination fo 3821 MoveOperands(Location source, Location destination, Primitive::Type type, HInstruction* instruction) argument 3900 AddMove(Location source, Location destination, Primitive::Type type, HInstruction* instruction) argument [all...] |