/art/compiler/optimizing/ |
D | code_generator_vector_x86.cc | 29 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecReplicateScalar() local 36 locations->AddTemp(Location::RequiresFpuRegister()); in VisitVecReplicateScalar() 45 locations->SetInAt(0, is_zero ? Location::ConstantLocation(input) in VisitVecReplicateScalar() 47 locations->SetOut(Location::RequiresFpuRegister()); in VisitVecReplicateScalar() 51 locations->SetInAt(0, is_zero ? Location::ConstantLocation(input) in VisitVecReplicateScalar() 53 locations->SetOut(is_zero ? Location::RequiresFpuRegister() in VisitVecReplicateScalar() 63 LocationSummary* locations = instruction->GetLocations(); in VisitVecReplicateScalar() local 64 XmmRegister dst = locations->Out().AsFpuRegister<XmmRegister>(); in VisitVecReplicateScalar() 78 __ movd(dst, locations->InAt(0).AsRegister<Register>()); in VisitVecReplicateScalar() 86 __ movd(dst, locations->InAt(0).AsRegister<Register>()); in VisitVecReplicateScalar() [all …]
|
D | code_generator_vector_x86_64.cc | 29 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecReplicateScalar() local 40 locations->SetInAt(0, is_zero ? Location::ConstantLocation(input) in VisitVecReplicateScalar() 42 locations->SetOut(Location::RequiresFpuRegister()); in VisitVecReplicateScalar() 46 locations->SetInAt(0, is_zero ? Location::ConstantLocation(input) in VisitVecReplicateScalar() 48 locations->SetOut(is_zero ? Location::RequiresFpuRegister() in VisitVecReplicateScalar() 58 LocationSummary* locations = instruction->GetLocations(); in VisitVecReplicateScalar() local 59 XmmRegister dst = locations->Out().AsFpuRegister<XmmRegister>(); in VisitVecReplicateScalar() 73 __ movd(dst, locations->InAt(0).AsRegister<CpuRegister>(), /*64-bit*/ false); in VisitVecReplicateScalar() 81 __ movd(dst, locations->InAt(0).AsRegister<CpuRegister>(), /*64-bit*/ false); in VisitVecReplicateScalar() 87 __ movd(dst, locations->InAt(0).AsRegister<CpuRegister>(), /*64-bit*/ false); in VisitVecReplicateScalar() [all …]
|
D | code_generator_vector_arm64_neon.cc | 78 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecReplicateScalar() local 88 locations->SetInAt(0, NEONEncodableConstantOrRegister(input, instruction)); in VisitVecReplicateScalar() 89 locations->SetOut(Location::RequiresFpuRegister()); in VisitVecReplicateScalar() 95 locations->SetInAt(0, Location::ConstantLocation(input)); in VisitVecReplicateScalar() 96 locations->SetOut(Location::RequiresFpuRegister()); in VisitVecReplicateScalar() 98 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitVecReplicateScalar() 99 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitVecReplicateScalar() 109 LocationSummary* locations = instruction->GetLocations(); in VisitVecReplicateScalar() local 110 Location src_loc = locations->InAt(0); in VisitVecReplicateScalar() 111 VRegister dst = VRegisterFrom(locations->Out()); in VisitVecReplicateScalar() [all …]
|
D | intrinsics_x86.cc | 100 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 101 DCHECK(locations->CanCall()); in EmitNativeCode() 107 Location length = locations->InAt(4); in EmitNativeCode() 112 Register src_curr_addr = locations->GetTemp(0).AsRegister<Register>(); in EmitNativeCode() 113 Register dst_curr_addr = locations->GetTemp(1).AsRegister<Register>(); in EmitNativeCode() 114 Register src_stop_addr = locations->GetTemp(2).AsRegister<Register>(); in EmitNativeCode() 115 Register value = locations->GetTemp(3).AsRegister<Register>(); in EmitNativeCode() 151 LocationSummary* locations = in CreateFPToIntLocations() local 153 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPToIntLocations() 154 locations->SetOut(Location::RequiresRegister()); in CreateFPToIntLocations() [all …]
|
D | code_generator_vector_arm_vixl.cc | 37 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecReplicateScalar() local 45 locations->SetInAt(0, Location::RequiresRegister()); in VisitVecReplicateScalar() 46 locations->SetOut(Location::RequiresFpuRegister()); in VisitVecReplicateScalar() 55 LocationSummary* locations = instruction->GetLocations(); in VisitVecReplicateScalar() local 56 vixl32::DRegister dst = DRegisterFrom(locations->Out()); in VisitVecReplicateScalar() 80 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecExtractScalar() local 83 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitVecExtractScalar() 84 locations->SetOut(Location::RequiresRegister()); in VisitVecExtractScalar() 93 LocationSummary* locations = instruction->GetLocations(); in VisitVecExtractScalar() local 94 vixl32::DRegister src = DRegisterFrom(locations->InAt(0)); in VisitVecExtractScalar() [all …]
|
D | code_generator_vector_arm64_sve.cc | 78 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecReplicateScalar() local 88 locations->SetInAt(0, SVEEncodableConstantOrRegister(input, instruction)); in VisitVecReplicateScalar() 89 locations->SetOut(Location::RequiresFpuRegister()); in VisitVecReplicateScalar() 95 locations->SetInAt(0, Location::ConstantLocation(input)); in VisitVecReplicateScalar() 96 locations->SetOut(Location::RequiresFpuRegister()); in VisitVecReplicateScalar() 98 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitVecReplicateScalar() 99 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitVecReplicateScalar() 110 LocationSummary* locations = instruction->GetLocations(); in VisitVecReplicateScalar() local 111 Location src_loc = locations->InAt(0); in VisitVecReplicateScalar() 112 const ZRegister dst = ZRegisterFrom(locations->Out()); in VisitVecReplicateScalar() [all …]
|
D | intrinsics_x86_64.cc | 97 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 98 DCHECK(locations->CanCall()); in EmitNativeCode() 104 Location length = locations->InAt(4); in EmitNativeCode() 109 CpuRegister src_curr_addr = locations->GetTemp(0).AsRegister<CpuRegister>(); in EmitNativeCode() 110 CpuRegister dst_curr_addr = locations->GetTemp(1).AsRegister<CpuRegister>(); in EmitNativeCode() 111 CpuRegister src_stop_addr = locations->GetTemp(2).AsRegister<CpuRegister>(); in EmitNativeCode() 145 LocationSummary* locations = in CreateFPToIntLocations() local 147 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPToIntLocations() 148 locations->SetOut(Location::RequiresRegister()); in CreateFPToIntLocations() 152 LocationSummary* locations = in CreateIntToFPLocations() local [all …]
|
D | code_generator_x86.cc | 154 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 159 SaveLiveRegisters(codegen, locations); in EmitNativeCode() 162 Location index_loc = locations->InAt(0); in EmitNativeCode() 163 Location length_loc = locations->InAt(1); in EmitNativeCode() 235 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 238 SaveLiveRegisters(codegen, locations); // Only saves full width XMM for SIMD. in EmitNativeCode() 241 RestoreLiveRegisters(codegen, locations); // Only restores full width XMM for SIMD. in EmitNativeCode() 272 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 273 DCHECK(!locations->GetLiveRegisters()->ContainsCoreRegister(locations->Out().reg())); in EmitNativeCode() 277 SaveLiveRegisters(codegen, locations); in EmitNativeCode() [all …]
|
D | code_generator_x86_64.cc | 166 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 169 SaveLiveRegisters(codegen, locations); // Only saves full width XMM for SIMD. in EmitNativeCode() 172 RestoreLiveRegisters(codegen, locations); // Only restores full width XMM for SIMD. in EmitNativeCode() 204 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 209 SaveLiveRegisters(codegen, locations); in EmitNativeCode() 212 Location index_loc = locations->InAt(0); in EmitNativeCode() 213 Location length_loc = locations->InAt(1); in EmitNativeCode() 278 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 279 DCHECK(!locations->GetLiveRegisters()->ContainsCoreRegister(locations->Out().reg())); in EmitNativeCode() 283 SaveLiveRegisters(codegen, locations); in EmitNativeCode() [all …]
|
D | intrinsics_arm64.cc | 102 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 103 DCHECK(locations->CanCall()); in EmitNativeCode() 112 Register src_curr_addr = XRegisterFrom(locations->GetTemp(0)); in EmitNativeCode() 113 Register dst_curr_addr = XRegisterFrom(locations->GetTemp(1)); in EmitNativeCode() 114 Register src_stop_addr = XRegisterFrom(locations->GetTemp(2)); in EmitNativeCode() 175 LocationSummary* locations = in CreateFPToIntLocations() local 177 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPToIntLocations() 178 locations->SetOut(Location::RequiresRegister()); in CreateFPToIntLocations() 182 LocationSummary* locations = in CreateIntToFPLocations() local 184 locations->SetInAt(0, Location::RequiresRegister()); in CreateIntToFPLocations() [all …]
|
D | intrinsics_riscv64.cc | 43 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 44 DCHECK(locations->CanCall()); in EmitNativeCode() 53 XRegister src_curr_addr = locations->GetTemp(0).AsRegister<XRegister>(); in EmitNativeCode() 54 XRegister dst_curr_addr = locations->GetTemp(1).AsRegister<XRegister>(); in EmitNativeCode() 55 XRegister src_stop_addr = locations->GetTemp(2).AsRegister<XRegister>(); in EmitNativeCode() 106 LocationSummary* locations = in CreateFPToIntLocations() local 108 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPToIntLocations() 109 locations->SetOut(Location::RequiresRegister()); in CreateFPToIntLocations() 113 LocationSummary* locations = in CreateIntToFPLocations() local 115 locations->SetInAt(0, Location::RequiresRegister()); in CreateIntToFPLocations() [all …]
|
D | intrinsics_arm_vixl.cc | 88 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 89 DCHECK(locations->CanCall()); in EmitNativeCode() 99 vixl32::Register src_curr_addr = RegisterFrom(locations->GetTemp(0)); in EmitNativeCode() 100 vixl32::Register dst_curr_addr = RegisterFrom(locations->GetTemp(1)); in EmitNativeCode() 101 vixl32::Register src_stop_addr = RegisterFrom(locations->GetTemp(2)); in EmitNativeCode() 102 vixl32::Register tmp = RegisterFrom(locations->GetTemp(3)); in EmitNativeCode() 165 LocationSummary* locations = in CreateFPToIntLocations() local 167 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPToIntLocations() 168 locations->SetOut(Location::RequiresRegister()); in CreateFPToIntLocations() 172 LocationSummary* locations = in CreateIntToFPLocations() local [all …]
|
D | code_generator_riscv64.cc | 312 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 315 SaveLiveRegisters(codegen, locations); // Only saves live vector registers for SIMD. in EmitNativeCode() 318 RestoreLiveRegisters(codegen, locations); // Only restores live vector registers for SIMD. in EmitNativeCode() 375 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 385 codegen->EmitParallelMoves(locations->InAt(0), in EmitNativeCode() 388 locations->InAt(1), in EmitNativeCode() 415 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 416 Location out = locations->Out(); in EmitNativeCode() 423 SaveLiveRegisters(codegen, locations); in EmitNativeCode() 444 Location source = instruction_->IsLoadClass() ? out : locations->InAt(0); in EmitNativeCode() [all …]
|
D | code_generator_arm_vixl.cc | 303 void SlowPathCodeARMVIXL::SaveLiveRegisters(CodeGenerator* codegen, LocationSummary* locations) { in SaveLiveRegisters() argument 307 const uint32_t core_spills = codegen->GetSlowPathSpills(locations, /* core_registers= */ true); in SaveLiveRegisters() 310 if (locations->RegisterContainsObject(i)) { in SaveLiveRegisters() 311 locations->SetStackBit(stack_offset / kVRegSize); in SaveLiveRegisters() 322 uint32_t fp_spills = codegen->GetSlowPathSpills(locations, /* core_registers= */ false); in SaveLiveRegisters() 341 void SlowPathCodeARMVIXL::RestoreLiveRegisters(CodeGenerator* codegen, LocationSummary* locations) { in RestoreLiveRegisters() argument 345 const uint32_t core_spills = codegen->GetSlowPathSpills(locations, /* core_registers= */ true); in RestoreLiveRegisters() 356 uint32_t fp_spills = codegen->GetSlowPathSpills(locations, /* core_registers= */ false); in RestoreLiveRegisters() 458 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 469 locations->InAt(0), in EmitNativeCode() [all …]
|
D | code_generator.cc | 109 LocationSummary* locations = instruction->GetLocations(); in CheckTypeConsistency() local 110 if (locations == nullptr) { in CheckTypeConsistency() 114 if (locations->Out().IsUnallocated() in CheckTypeConsistency() 115 && (locations->Out().GetPolicy() == Location::kSameAsFirstInput)) { in CheckTypeConsistency() 116 DCHECK(CheckType(instruction->GetType(), locations->InAt(0))) in CheckTypeConsistency() 118 << " " << locations->InAt(0); in CheckTypeConsistency() 120 DCHECK(CheckType(instruction->GetType(), locations->Out())) in CheckTypeConsistency() 122 << " " << locations->Out(); in CheckTypeConsistency() 127 DCHECK(CheckType(inputs[i]->GetType(), locations->InAt(i))) in CheckTypeConsistency() 128 << inputs[i]->GetType() << " " << locations->InAt(i); in CheckTypeConsistency() [all …]
|
D | code_generator_arm64.cc | 179 void SlowPathCodeARM64::SaveLiveRegisters(CodeGenerator* codegen, LocationSummary* locations) { in SaveLiveRegisters() argument 181 const uint32_t core_spills = codegen->GetSlowPathSpills(locations, /* core_registers= */ true); in SaveLiveRegisters() 184 if (locations->RegisterContainsObject(i)) { in SaveLiveRegisters() 185 locations->SetStackBit(stack_offset / kVRegSize); in SaveLiveRegisters() 194 const uint32_t fp_spills = codegen->GetSlowPathSpills(locations, /* core_registers= */ false); in SaveLiveRegisters() 204 visitor->SaveLiveRegistersHelper(locations, codegen->GetFirstRegisterSlotInSlowPath()); in SaveLiveRegisters() 207 void SlowPathCodeARM64::RestoreLiveRegisters(CodeGenerator* codegen, LocationSummary* locations) { in RestoreLiveRegisters() argument 210 visitor->RestoreLiveRegistersHelper(locations, codegen->GetFirstRegisterSlotInSlowPath()); in RestoreLiveRegisters() 218 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 229 codegen->EmitParallelMoves(locations->InAt(0), in EmitNativeCode() [all …]
|
D | intrinsics.cc | 105 LocationSummary* locations = new (allocator) LocationSummary(invoke, call_kind, kIntrinsified); in ComputeValueOfLocations() local 107 locations->SetInAt(0, Location::RegisterOrConstant(input)); in ComputeValueOfLocations() 108 locations->AddTemp(first_argument_location); in ComputeValueOfLocations() 109 locations->SetOut(return_location); in ComputeValueOfLocations() 111 locations->SetInAt(0, Location::ConstantLocation(input)); in ComputeValueOfLocations() 112 locations->SetOut(Location::RequiresRegister()); in ComputeValueOfLocations() 197 LocationSummary* locations = in CreateReferenceGetReferentLocations() local 199 locations->SetInAt(0, Location::RequiresRegister()); in CreateReferenceGetReferentLocations() 200 locations->SetOut(Location::RequiresRegister()); in CreateReferenceGetReferentLocations() 210 LocationSummary* locations = in CreateReferenceRefersToLocations() local [all …]
|
D | register_allocation_resolver.cc | 61 LocationSummary* locations = instruction->GetLocations(); in Resolve() local 62 Location location = locations->Out(); in Resolve() 68 locations->UpdateOut(location); in Resolve() 72 locations->UpdateOut(location); in Resolve() 133 if (locations->InAt(0).IsUnallocated()) { in Resolve() 134 locations->SetInAt(0, source); in Resolve() 136 DCHECK(locations->InAt(0).Equals(source)); in Resolve() 139 locations->UpdateOut(source); in Resolve() 209 LocationSummary* locations = at->GetLocations(); in Resolve() local 212 locations->SetTempAt(temp_index, Location::RegisterLocation(temp->GetRegister())); in Resolve() [all …]
|
D | ssa_liveness_analysis.cc | 54 LocationSummary* locations = current->GetLocations(); in NumberInstructions() local 55 if (locations != nullptr && locations->Out().IsValid()) { in NumberInstructions() 72 LocationSummary* locations = current->GetLocations(); in NumberInstructions() local 73 if (locations != nullptr && locations->Out().IsValid()) { in NumberInstructions() 417 LocationSummary* locations = user->GetLocations(); in FindFirstRegisterHint() local 418 Location expected = locations->InAt(use.GetInputIndex()); in FindFirstRegisterHint() 455 LocationSummary* locations = GetDefinedBy()->GetLocations(); in FindHintAtDefinition() local 456 Location out = locations->Out(); in FindHintAtDefinition()
|
D | register_allocator_linear_scan.cc | 240 LocationSummary* locations = instruction->GetLocations(); in ProcessInstruction() local 243 if (locations == nullptr) { in ProcessInstruction() 250 bool will_call = locations->WillCall(); in ProcessInstruction() 305 LocationSummary* locations = instruction->GetLocations(); in TryRemoveSuspendCheckEntry() local 310 DCHECK_EQ(locations->GetTempCount(), 0u); in TryRemoveSuspendCheckEntry() 319 LocationSummary* locations = instruction->GetLocations(); in CheckForTempLiveIntervals() local 323 for (size_t i = 0; i < locations->GetTempCount(); ++i) { in CheckForTempLiveIntervals() 324 Location temp = locations->GetTemp(i); in CheckForTempLiveIntervals() 364 LocationSummary* locations = instruction->GetLocations(); in CheckForSafepoint() local 365 if (locations->NeedsSafepoint()) { in CheckForSafepoint() [all …]
|
D | code_generator.h | 99 virtual void SaveLiveRegisters(CodeGenerator* codegen, LocationSummary* locations); 101 virtual void RestoreLiveRegisters(CodeGenerator* codegen, LocationSummary* locations); 221 virtual void AddLocationAsTemp(Location location, LocationSummary* locations) = 0; 310 uint32_t GetSlowPathSpills(LocationSummary* locations, bool core_registers) const { in GetSlowPathSpills() argument 311 DCHECK(locations->OnlyCallsOnSlowPath() || in GetSlowPathSpills() 312 (locations->Intrinsified() && locations->CallsOnMainAndSlowPath() && in GetSlowPathSpills() 313 !locations->HasCustomSlowPathCallingConvention())); in GetSlowPathSpills() 315 ? locations->GetLiveRegisters()->GetCoreRegisters() in GetSlowPathSpills() 316 : locations->GetLiveRegisters()->GetFloatingPointRegisters(); in GetSlowPathSpills() 317 if (locations->HasCustomSlowPathCallingConvention()) { in GetSlowPathSpills() [all …]
|
/art/test/510-checker-try-catch/smali/ |
D | RegisterAllocator.smali | 23 ## CHECK-DAG: Phi reg:0 is_catch_phi:true locations:{{\[.*\]}}-><<SlotA1:\d+>>(sp) 24 ## CHECK-DAG: Phi reg:0 is_catch_phi:true locations:{{\[.*\]}}-><<SlotA2:\d+>>(sp) 25 ## CHECK-DAG: Phi reg:1 is_catch_phi:true locations:{{\[.*\]}}-><<SlotB:\d+>>(sp) 61 ## CHECK-DAG: Phi reg:0 is_catch_phi:true locations:{{\[.*\]}}->2x<<SlotB1:\d+>>(sp) 62 ## CHECK-DAG: Phi reg:0 is_catch_phi:true locations:{{\[.*\]}}->2x<<SlotB2:\d+>>(sp) 63 ## CHECK-DAG: Phi reg:2 is_catch_phi:true locations:{{\[.*\]}}-><<SlotA:\d+>>(sp)
|
/art/tools/ |
D | host_bcp.sh | 21 Extracts boot class path locations from <image> and outputs the appropriate 23 --runtime-arg -Xbootclasspath-locations:... 84 --runtime-arg -Xbootclasspath-locations:${BCPL}
|
/art/tools/veridex/ |
D | Android.bp | 137 …"ls -1 $(locations :oahl_stub_dex) | sort > $(genDir)/tmp/org.apache.http.legacy-stubs.zip.list &&… 138 "$(locations soong_zip) -o $(genDir)/org.apache.http.legacy-stubs.zip " + 149 "ls -1 $(locations :system_stub_dex) | sort > $(genDir)/tmp/system-stubs.zip.list && " + 150 "$(locations soong_zip) -o $(genDir)/system-stubs.zip" + 186 "$(locations soong_zip) -o $(out)" +
|
/art/test/555-UnsafeGetLong-regression/ |
D | info.txt | 1 Regression test for sun.misc.Unsafe.getLong's intrinsic's locations
|