/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->AsConstant()) in VisitVecReplicateScalar() 47 locations->SetOut(Location::RequiresFpuRegister()); in VisitVecReplicateScalar() 51 locations->SetInAt(0, is_zero ? Location::ConstantLocation(input->AsConstant()) 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() 77 __ movd(dst, locations->InAt(0).AsRegister<Register>()); in VisitVecReplicateScalar() 85 __ 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->AsConstant()) in VisitVecReplicateScalar() 42 locations->SetOut(Location::RequiresFpuRegister()); in VisitVecReplicateScalar() 46 locations->SetInAt(0, is_zero ? Location::ConstantLocation(input->AsConstant()) 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() 72 __ movd(dst, locations->InAt(0).AsRegister<CpuRegister>(), /*64-bit*/ false); in VisitVecReplicateScalar() 80 __ movd(dst, locations->InAt(0).AsRegister<CpuRegister>(), /*64-bit*/ false); in VisitVecReplicateScalar() 86 __ movd(dst, locations->InAt(0).AsRegister<CpuRegister>(), /*64-bit*/ false); in VisitVecReplicateScalar() [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_mips.cc | 27 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecReplicateScalar() local 36 locations->SetInAt(0, Location::RequiresRegister()); in VisitVecReplicateScalar() 37 locations->SetOut(Location::RequiresFpuRegister()); in VisitVecReplicateScalar() 41 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitVecReplicateScalar() 42 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitVecReplicateScalar() 51 LocationSummary* locations = instruction->GetLocations(); in VisitVecReplicateScalar() local 52 VectorRegister dst = VectorRegisterFrom(locations->Out()); in VisitVecReplicateScalar() 58 __ FillB(dst, locations->InAt(0).AsRegister<Register>()); in VisitVecReplicateScalar() 63 __ FillH(dst, locations->InAt(0).AsRegister<Register>()); in VisitVecReplicateScalar() 67 __ FillW(dst, locations->InAt(0).AsRegister<Register>()); in VisitVecReplicateScalar() [all …]
|
D | code_generator_vector_mips64.cc | 32 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecReplicateScalar() local 41 locations->SetInAt(0, Location::RequiresRegister()); in VisitVecReplicateScalar() 42 locations->SetOut(Location::RequiresFpuRegister()); in VisitVecReplicateScalar() 46 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitVecReplicateScalar() 47 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitVecReplicateScalar() 56 LocationSummary* locations = instruction->GetLocations(); in VisitVecReplicateScalar() local 57 VectorRegister dst = VectorRegisterFrom(locations->Out()); in VisitVecReplicateScalar() 63 __ FillB(dst, locations->InAt(0).AsRegister<GpuRegister>()); in VisitVecReplicateScalar() 68 __ FillH(dst, locations->InAt(0).AsRegister<GpuRegister>()); in VisitVecReplicateScalar() 72 __ FillW(dst, locations->InAt(0).AsRegister<GpuRegister>()); in VisitVecReplicateScalar() [all …]
|
D | code_generator_vector_arm64.cc | 51 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecReplicateScalar() local 61 locations->SetInAt(0, ARM64EncodableConstantOrRegister(input, instruction)); in VisitVecReplicateScalar() 62 locations->SetOut(Location::RequiresFpuRegister()); in VisitVecReplicateScalar() 68 locations->SetInAt(0, Location::ConstantLocation(input->AsConstant())); in VisitVecReplicateScalar() 69 locations->SetOut(Location::RequiresFpuRegister()); in VisitVecReplicateScalar() 71 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitVecReplicateScalar() 72 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitVecReplicateScalar() 82 LocationSummary* locations = instruction->GetLocations(); in VisitVecReplicateScalar() local 83 Location src_loc = locations->InAt(0); in VisitVecReplicateScalar() 84 VRegister dst = VRegisterFrom(locations->Out()); in VisitVecReplicateScalar() [all …]
|
D | intrinsics_arm64.cc | 168 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 169 DCHECK(locations->CanCall()); in EmitNativeCode() 178 Register src_curr_addr = XRegisterFrom(locations->GetTemp(0)); in EmitNativeCode() 179 Register dst_curr_addr = XRegisterFrom(locations->GetTemp(1)); in EmitNativeCode() 180 Register src_stop_addr = XRegisterFrom(locations->GetTemp(2)); in EmitNativeCode() 240 LocationSummary* locations = in CreateFPToIntLocations() local 242 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPToIntLocations() 243 locations->SetOut(Location::RequiresRegister()); in CreateFPToIntLocations() 247 LocationSummary* locations = in CreateIntToFPLocations() local 249 locations->SetInAt(0, Location::RequiresRegister()); in CreateIntToFPLocations() [all …]
|
D | intrinsics_arm_vixl.cc | 179 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 180 DCHECK(locations->CanCall()); in EmitNativeCode() 191 Location dest_pos = locations->InAt(3); in EmitNativeCode() 192 vixl32::Register src_curr_addr = RegisterFrom(locations->GetTemp(0)); in EmitNativeCode() 193 vixl32::Register dst_curr_addr = RegisterFrom(locations->GetTemp(1)); in EmitNativeCode() 194 vixl32::Register src_stop_addr = RegisterFrom(locations->GetTemp(2)); in EmitNativeCode() 195 vixl32::Register tmp = RegisterFrom(locations->GetTemp(3)); in EmitNativeCode() 260 LocationSummary* locations = in CreateFPToIntLocations() local 262 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPToIntLocations() 263 locations->SetOut(Location::RequiresRegister()); in CreateFPToIntLocations() [all …]
|
D | code_generator_arm_vixl.cc | 318 void SlowPathCodeARMVIXL::SaveLiveRegisters(CodeGenerator* codegen, LocationSummary* locations) { in SaveLiveRegisters() argument 322 const uint32_t core_spills = codegen->GetSlowPathSpills(locations, /* core_registers= */ true); in SaveLiveRegisters() 325 if (locations->RegisterContainsObject(i)) { in SaveLiveRegisters() 326 locations->SetStackBit(stack_offset / kVRegSize); in SaveLiveRegisters() 337 uint32_t fp_spills = codegen->GetSlowPathSpills(locations, /* core_registers= */ false); in SaveLiveRegisters() 356 void SlowPathCodeARMVIXL::RestoreLiveRegisters(CodeGenerator* codegen, LocationSummary* locations) { in RestoreLiveRegisters() argument 360 const uint32_t core_spills = codegen->GetSlowPathSpills(locations, /* core_registers= */ true); in RestoreLiveRegisters() 371 uint32_t fp_spills = codegen->GetSlowPathSpills(locations, /* core_registers= */ false); in RestoreLiveRegisters() 473 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 484 locations->InAt(0), in EmitNativeCode() [all …]
|
D | code_generator_mips64.cc | 132 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 142 codegen->EmitParallelMoves(locations->InAt(0), in EmitNativeCode() 145 locations->InAt(1), in EmitNativeCode() 193 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 194 Location out = locations->Out(); in EmitNativeCode() 201 SaveLiveRegisters(codegen, locations); in EmitNativeCode() 213 Location source = instruction_->IsLoadClass() ? out : locations->InAt(0); in EmitNativeCode() 225 DCHECK(out.IsRegister() && !locations->GetLiveRegisters()->ContainsCoreRegister(out.reg())); in EmitNativeCode() 231 RestoreLiveRegisters(codegen, locations); in EmitNativeCode() 253 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local [all …]
|
D | code_generator_mips.cc | 180 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 190 codegen->EmitParallelMoves(locations->InAt(0), in EmitNativeCode() 193 locations->InAt(1), in EmitNativeCode() 240 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local 241 Location out = locations->Out(); in EmitNativeCode() 248 SaveLiveRegisters(codegen, locations); in EmitNativeCode() 260 Location source = instruction_->IsLoadClass() ? out : locations->InAt(0); in EmitNativeCode() 272 DCHECK(out.IsRegister() && !locations->GetLiveRegisters()->ContainsCoreRegister(out.reg())); in EmitNativeCode() 278 RestoreLiveRegisters(codegen, locations); in EmitNativeCode() 300 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local [all …]
|
D | code_generator.cc | 110 LocationSummary* locations = instruction->GetLocations(); in CheckTypeConsistency() local 111 if (locations == nullptr) { in CheckTypeConsistency() 115 if (locations->Out().IsUnallocated() in CheckTypeConsistency() 116 && (locations->Out().GetPolicy() == Location::kSameAsFirstInput)) { in CheckTypeConsistency() 117 DCHECK(CheckType(instruction->GetType(), locations->InAt(0))) in CheckTypeConsistency() 119 << " " << locations->InAt(0); in CheckTypeConsistency() 121 DCHECK(CheckType(instruction->GetType(), locations->Out())) in CheckTypeConsistency() 123 << " " << locations->Out(); in CheckTypeConsistency() 128 DCHECK(CheckType(inputs[i]->GetType(), locations->InAt(i))) in CheckTypeConsistency() 129 << inputs[i]->GetType() << " " << locations->InAt(i); in CheckTypeConsistency() [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 | code_generator.h | 98 virtual void SaveLiveRegisters(CodeGenerator* codegen, LocationSummary* locations); 100 virtual void RestoreLiveRegisters(CodeGenerator* codegen, LocationSummary* locations); 220 virtual void AddLocationAsTemp(Location location, LocationSummary* locations) = 0; 292 uint32_t GetSlowPathSpills(LocationSummary* locations, bool core_registers) const { in GetSlowPathSpills() argument 293 DCHECK(locations->OnlyCallsOnSlowPath() || in GetSlowPathSpills() 294 (locations->Intrinsified() && locations->CallsOnMainAndSlowPath() && in GetSlowPathSpills() 295 !locations->HasCustomSlowPathCallingConvention())); in GetSlowPathSpills() 297 ? locations->GetLiveRegisters()->GetCoreRegisters() in GetSlowPathSpills() 298 : locations->GetLiveRegisters()->GetFloatingPointRegisters(); in GetSlowPathSpills() 299 if (locations->HasCustomSlowPathCallingConvention()) { in GetSlowPathSpills() [all …]
|
D | code_generator_mips.h | 250 void GenerateMinMaxInt(LocationSummary* locations, bool is_min, bool isR6, DataType::Type type); 251 void GenerateMinMaxFP(LocationSummary* locations, bool is_min, bool isR6, DataType::Type type); 253 void GenerateAbsFP(LocationSummary* locations, DataType::Type type, bool isR2OrNewer, bool isR6); 298 void GenerateIntCompare(IfCondition cond, LocationSummary* locations); 306 LocationSummary* locations, 308 void GenerateLongCompare(IfCondition cond, LocationSummary* locations); 310 LocationSummary* locations, 315 LocationSummary* locations); 335 LocationSummary* locations, 358 int32_t VecAddress(LocationSummary* locations, [all …]
|
D | register_allocator_linear_scan.cc | 225 LocationSummary* locations = instruction->GetLocations(); in ProcessInstruction() local 228 if (locations == nullptr) return; in ProcessInstruction() 231 for (size_t i = 0; i < locations->GetTempCount(); ++i) { in ProcessInstruction() 232 Location temp = locations->GetTemp(i); in ProcessInstruction() 274 if (locations->NeedsSafepoint()) { in ProcessInstruction() 286 if (locations->WillCall()) { in ProcessInstruction() 290 for (size_t i = 0; i < locations->GetInputCount(); ++i) { in ProcessInstruction() 291 Location input = locations->InAt(i); in ProcessInstruction() 344 Location output = locations->Out(); in ProcessInstruction() 346 Location first = locations->InAt(0); in ProcessInstruction() [all …]
|
D | ssa_liveness_analysis.h | 318 LocationSummary* locations = instruction->GetLocations(); variable 326 if (locations->IsFixedInput(input_index) || locations->OutputUsesSameAs(input_index)) { 333 } else if (!locations->InAt(input_index).IsValid()) { 907 LocationSummary* locations = defined_by_->GetLocations(); in CanUseInputRegister() local 908 if (locations->OutputCanOverlapWithInputs()) { in CanUseInputRegister() 956 LocationSummary* locations = defined_by_->GetLocations(); in DefinitionRequiresRegister() local 957 Location location = locations->Out(); in DefinitionRequiresRegister() 964 && (locations->InAt(0).IsRegister() in DefinitionRequiresRegister() 965 || locations->InAt(0).IsRegisterPair() in DefinitionRequiresRegister() 966 || locations->InAt(0).GetPolicy() == Location::kRequiresRegister))) { in DefinitionRequiresRegister() [all …]
|
D | intrinsics.cc | 246 LocationSummary* locations = new (allocator) LocationSummary(invoke, call_kind, kIntrinsified); in ComputeIntegerValueOfLocations() local 248 locations->SetInAt(0, Location::RegisterOrConstant(invoke->InputAt(0))); in ComputeIntegerValueOfLocations() 249 locations->AddTemp(first_argument_location); in ComputeIntegerValueOfLocations() 250 locations->SetOut(return_location); in ComputeIntegerValueOfLocations() 252 locations->SetInAt(0, Location::ConstantLocation(invoke->InputAt(0)->AsConstant())); in ComputeIntegerValueOfLocations() 253 locations->SetOut(Location::RequiresRegister()); in ComputeIntegerValueOfLocations()
|
D | code_generator_mips64.h | 246 void GenerateMinMaxInt(LocationSummary* locations, bool is_min); 247 void GenerateMinMaxFP(LocationSummary* locations, bool is_min, DataType::Type type); 301 void GenerateIntLongCompare(IfCondition cond, bool is64bit, LocationSummary* locations); 311 LocationSummary* locations, 316 LocationSummary* locations); 328 LocationSummary* locations, 341 int32_t VecAddress(LocationSummary* locations, 507 void AddLocationAsTemp(Location location, LocationSummary* locations) override;
|
/art/tools/ |
D | host_bcp.sh | 21 Extracts boot class path locations from <image> and outputs the appropriate 23 --runtime-arg -Xbootclasspath-locations:... 75 --runtime-arg -Xbootclasspath-locations:${BCPL}
|
/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/runtime/jit/ |
D | profile_saver.cc | 446 const std::set<std::string>& locations = it.second; in FetchAndCacheResolvedClassesAndMethods() local 447 VLOG(profiler) << "Locations for " << it.first << " " << android::base::Join(locations, ':'); in FetchAndCacheResolvedClassesAndMethods() 455 << " found=" << (locations.find(base_location) != locations.end()) in FetchAndCacheResolvedClassesAndMethods() 457 if (locations.find(base_location) != locations.end()) { in FetchAndCacheResolvedClassesAndMethods() 472 << " found=" << (locations.find(base_location) != locations.end()) in FetchAndCacheResolvedClassesAndMethods() 474 if (locations.find(base_location) != locations.end()) { in FetchAndCacheResolvedClassesAndMethods() 484 if (locations.find(base_location) != locations.end()) { in FetchAndCacheResolvedClassesAndMethods() 536 const std::set<std::string>& locations = it.second; in ProcessProfilingInfo() local 538 << android::base::Join(locations, ":"); in ProcessProfilingInfo() 543 jit_code_cache_->GetProfiledMethods(locations, profile_methods); in ProcessProfilingInfo() [all …]
|
/art/test/614-checker-dump-constant-location/ |
D | info.txt | 2 locations in parallel moves.
|
/art/test/555-UnsafeGetLong-regression/ |
D | info.txt | 1 Regression test for sun.misc.Unsafe.getLong's intrinsic's locations
|