Home
last modified time | relevance | path

Searched refs:locations (Results 1 – 25 of 48) sorted by relevance

12

/art/compiler/optimizing/
Dcode_generator_vector_x86.cc29 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 …]
Dcode_generator_vector_x86_64.cc29 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 …]
Dintrinsics_x86.cc84 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local
85 DCHECK(locations->CanCall()); in EmitNativeCode()
95 Register src = locations->InAt(0).AsRegister<Register>(); in EmitNativeCode()
96 Location src_pos = locations->InAt(1); in EmitNativeCode()
97 Register dest = locations->InAt(2).AsRegister<Register>(); in EmitNativeCode()
98 Location dest_pos = locations->InAt(3); in EmitNativeCode()
99 Location length = locations->InAt(4); in EmitNativeCode()
100 Location temp1_loc = locations->GetTemp(0); in EmitNativeCode()
102 Register temp2 = locations->GetTemp(1).AsRegister<Register>(); in EmitNativeCode()
103 Register temp3 = locations->GetTemp(2).AsRegister<Register>(); in EmitNativeCode()
[all …]
Dcode_generator_vector_arm64_neon.cc80 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecReplicateScalar() local
90 locations->SetInAt(0, NEONEncodableConstantOrRegister(input, instruction)); in VisitVecReplicateScalar()
91 locations->SetOut(Location::RequiresFpuRegister()); in VisitVecReplicateScalar()
97 locations->SetInAt(0, Location::ConstantLocation(input)); in VisitVecReplicateScalar()
98 locations->SetOut(Location::RequiresFpuRegister()); in VisitVecReplicateScalar()
100 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitVecReplicateScalar()
101 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitVecReplicateScalar()
111 LocationSummary* locations = instruction->GetLocations(); in VisitVecReplicateScalar() local
112 Location src_loc = locations->InAt(0); in VisitVecReplicateScalar()
113 VRegister dst = VRegisterFrom(locations->Out()); in VisitVecReplicateScalar()
[all …]
Dcode_generator_vector_arm_vixl.cc37 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 …]
Dcode_generator_vector_arm64_sve.cc79 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instruction); in VisitVecReplicateScalar() local
89 locations->SetInAt(0, SVEEncodableConstantOrRegister(input, instruction)); in VisitVecReplicateScalar()
90 locations->SetOut(Location::RequiresFpuRegister()); in VisitVecReplicateScalar()
96 locations->SetInAt(0, Location::ConstantLocation(input)); in VisitVecReplicateScalar()
97 locations->SetOut(Location::RequiresFpuRegister()); in VisitVecReplicateScalar()
99 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitVecReplicateScalar()
100 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitVecReplicateScalar()
111 LocationSummary* locations = instruction->GetLocations(); in VisitVecReplicateScalar() local
112 Location src_loc = locations->InAt(0); in VisitVecReplicateScalar()
113 const ZRegister dst = ZRegisterFrom(locations->Out()); in VisitVecReplicateScalar()
[all …]
Dintrinsics_x86_64.cc80 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local
81 DCHECK(locations->CanCall()); in EmitNativeCode()
90 CpuRegister src_curr_addr = locations->GetTemp(0).AsRegister<CpuRegister>(); in EmitNativeCode()
91 CpuRegister dst_curr_addr = locations->GetTemp(1).AsRegister<CpuRegister>(); in EmitNativeCode()
92 CpuRegister src_stop_addr = locations->GetTemp(2).AsRegister<CpuRegister>(); in EmitNativeCode()
127 LocationSummary* locations = in CreateFPToIntLocations() local
129 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPToIntLocations()
130 locations->SetOut(Location::RequiresRegister()); in CreateFPToIntLocations()
134 LocationSummary* locations = in CreateIntToFPLocations() local
136 locations->SetInAt(0, Location::RequiresRegister()); in CreateIntToFPLocations()
[all …]
Dcode_generator_x86_64.cc163 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local
166 SaveLiveRegisters(codegen, locations); // Only saves full width XMM for SIMD. in EmitNativeCode()
169 RestoreLiveRegisters(codegen, locations); // Only restores full width XMM for SIMD. in EmitNativeCode()
201 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local
206 SaveLiveRegisters(codegen, locations); in EmitNativeCode()
209 Location index_loc = locations->InAt(0); in EmitNativeCode()
210 Location length_loc = locations->InAt(1); in EmitNativeCode()
279 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local
280 Location out = locations->Out(); in EmitNativeCode()
287 SaveLiveRegisters(codegen, locations); in EmitNativeCode()
[all …]
Dcode_generator_x86.cc150 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local
155 SaveLiveRegisters(codegen, locations); in EmitNativeCode()
158 Location index_loc = locations->InAt(0); in EmitNativeCode()
159 Location length_loc = locations->InAt(1); in EmitNativeCode()
231 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local
234 SaveLiveRegisters(codegen, locations); // Only saves full width XMM for SIMD. in EmitNativeCode()
237 RestoreLiveRegisters(codegen, locations); // Only restores full width XMM for SIMD. in EmitNativeCode()
268 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local
269 DCHECK(!locations->GetLiveRegisters()->ContainsCoreRegister(locations->Out().reg())); in EmitNativeCode()
273 SaveLiveRegisters(codegen, locations); in EmitNativeCode()
[all …]
Dintrinsics_arm64.cc100 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local
101 DCHECK(locations->CanCall()); in EmitNativeCode()
110 Register src_curr_addr = XRegisterFrom(locations->GetTemp(0)); in EmitNativeCode()
111 Register dst_curr_addr = XRegisterFrom(locations->GetTemp(1)); in EmitNativeCode()
112 Register src_stop_addr = XRegisterFrom(locations->GetTemp(2)); in EmitNativeCode()
172 LocationSummary* locations = in CreateFPToIntLocations() local
174 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPToIntLocations()
175 locations->SetOut(Location::RequiresRegister()); in CreateFPToIntLocations()
179 LocationSummary* locations = in CreateIntToFPLocations() local
181 locations->SetInAt(0, Location::RequiresRegister()); in CreateIntToFPLocations()
[all …]
Dintrinsics_arm_vixl.cc130 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local
131 DCHECK(locations->CanCall()); in EmitNativeCode()
142 Location dest_pos = locations->InAt(3); in EmitNativeCode()
143 vixl32::Register src_curr_addr = RegisterFrom(locations->GetTemp(0)); in EmitNativeCode()
144 vixl32::Register dst_curr_addr = RegisterFrom(locations->GetTemp(1)); in EmitNativeCode()
145 vixl32::Register src_stop_addr = RegisterFrom(locations->GetTemp(2)); in EmitNativeCode()
146 vixl32::Register tmp = RegisterFrom(locations->GetTemp(3)); in EmitNativeCode()
211 LocationSummary* locations = in CreateFPToIntLocations() local
213 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPToIntLocations()
214 locations->SetOut(Location::RequiresRegister()); in CreateFPToIntLocations()
[all …]
Dcode_generator_arm_vixl.cc323 void SlowPathCodeARMVIXL::SaveLiveRegisters(CodeGenerator* codegen, LocationSummary* locations) { in SaveLiveRegisters() argument
327 const uint32_t core_spills = codegen->GetSlowPathSpills(locations, /* core_registers= */ true); in SaveLiveRegisters()
330 if (locations->RegisterContainsObject(i)) { in SaveLiveRegisters()
331 locations->SetStackBit(stack_offset / kVRegSize); in SaveLiveRegisters()
342 uint32_t fp_spills = codegen->GetSlowPathSpills(locations, /* core_registers= */ false); in SaveLiveRegisters()
361 void SlowPathCodeARMVIXL::RestoreLiveRegisters(CodeGenerator* codegen, LocationSummary* locations) { in RestoreLiveRegisters() argument
365 const uint32_t core_spills = codegen->GetSlowPathSpills(locations, /* core_registers= */ true); in RestoreLiveRegisters()
376 uint32_t fp_spills = codegen->GetSlowPathSpills(locations, /* core_registers= */ false); in RestoreLiveRegisters()
478 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local
489 locations->InAt(0), in EmitNativeCode()
[all …]
Dcode_generator.cc108 LocationSummary* locations = instruction->GetLocations(); in CheckTypeConsistency() local
109 if (locations == nullptr) { in CheckTypeConsistency()
113 if (locations->Out().IsUnallocated() in CheckTypeConsistency()
114 && (locations->Out().GetPolicy() == Location::kSameAsFirstInput)) { in CheckTypeConsistency()
115 DCHECK(CheckType(instruction->GetType(), locations->InAt(0))) in CheckTypeConsistency()
117 << " " << locations->InAt(0); in CheckTypeConsistency()
119 DCHECK(CheckType(instruction->GetType(), locations->Out())) in CheckTypeConsistency()
121 << " " << locations->Out(); in CheckTypeConsistency()
126 DCHECK(CheckType(inputs[i]->GetType(), locations->InAt(i))) in CheckTypeConsistency()
127 << inputs[i]->GetType() << " " << locations->InAt(i); in CheckTypeConsistency()
[all …]
Dcode_generator_arm64.cc172 void SlowPathCodeARM64::SaveLiveRegisters(CodeGenerator* codegen, LocationSummary* locations) { in SaveLiveRegisters() argument
174 const uint32_t core_spills = codegen->GetSlowPathSpills(locations, /* core_registers= */ true); in SaveLiveRegisters()
177 if (locations->RegisterContainsObject(i)) { in SaveLiveRegisters()
178 locations->SetStackBit(stack_offset / kVRegSize); in SaveLiveRegisters()
187 const uint32_t fp_spills = codegen->GetSlowPathSpills(locations, /* core_registers= */ false); in SaveLiveRegisters()
197 visitor->SaveLiveRegistersHelper(locations, codegen->GetFirstRegisterSlotInSlowPath()); in SaveLiveRegisters()
200 void SlowPathCodeARM64::RestoreLiveRegisters(CodeGenerator* codegen, LocationSummary* locations) { in RestoreLiveRegisters() argument
203 visitor->RestoreLiveRegistersHelper(locations, codegen->GetFirstRegisterSlotInSlowPath()); in RestoreLiveRegisters()
211 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local
222 codegen->EmitParallelMoves(locations->InAt(0), in EmitNativeCode()
[all …]
Dregister_allocation_resolver.cc61 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 …]
Dintrinsics.cc257 LocationSummary* locations = new (allocator) LocationSummary(invoke, call_kind, kIntrinsified); in ComputeIntegerValueOfLocations() local
259 locations->SetInAt(0, Location::RegisterOrConstant(input)); in ComputeIntegerValueOfLocations()
260 locations->AddTemp(first_argument_location); in ComputeIntegerValueOfLocations()
261 locations->SetOut(return_location); in ComputeIntegerValueOfLocations()
263 locations->SetInAt(0, Location::ConstantLocation(input)); in ComputeIntegerValueOfLocations()
264 locations->SetOut(Location::RequiresRegister()); in ComputeIntegerValueOfLocations()
389 LocationSummary* locations = in CreateReferenceGetReferentLocations() local
391 locations->SetInAt(0, Location::RequiresRegister()); in CreateReferenceGetReferentLocations()
392 locations->SetOut(Location::RequiresRegister()); in CreateReferenceGetReferentLocations()
402 LocationSummary* locations = in CreateReferenceRefersToLocations() local
[all …]
Dssa_liveness_analysis.cc54 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()
Dregister_allocator_linear_scan.cc225 LocationSummary* locations = instruction->GetLocations(); in ProcessInstruction() local
228 if (locations == nullptr) { in ProcessInstruction()
237 if (locations->WillCall()) { in ProcessInstruction()
287 LocationSummary* locations = instruction->GetLocations(); in TryRemoveSuspendCheckEntry() local
292 DCHECK_EQ(locations->GetTempCount(), 0u); in TryRemoveSuspendCheckEntry()
300 LocationSummary* locations = instruction->GetLocations(); in CheckForTempLiveIntervals() local
304 for (size_t i = 0; i < locations->GetTempCount(); ++i) { in CheckForTempLiveIntervals()
305 Location temp = locations->GetTemp(i); in CheckForTempLiveIntervals()
345 LocationSummary* locations = instruction->GetLocations(); in CheckForSafepoint() local
346 if (locations->NeedsSafepoint()) { in CheckForSafepoint()
[all …]
Dcode_generator.h113 virtual void SaveLiveRegisters(CodeGenerator* codegen, LocationSummary* locations);
115 virtual void RestoreLiveRegisters(CodeGenerator* codegen, LocationSummary* locations);
235 virtual void AddLocationAsTemp(Location location, LocationSummary* locations) = 0;
330 uint32_t GetSlowPathSpills(LocationSummary* locations, bool core_registers) const { in GetSlowPathSpills() argument
331 DCHECK(locations->OnlyCallsOnSlowPath() || in GetSlowPathSpills()
332 (locations->Intrinsified() && locations->CallsOnMainAndSlowPath() && in GetSlowPathSpills()
333 !locations->HasCustomSlowPathCallingConvention())); in GetSlowPathSpills()
335 ? locations->GetLiveRegisters()->GetCoreRegisters() in GetSlowPathSpills()
336 : locations->GetLiveRegisters()->GetFloatingPointRegisters(); in GetSlowPathSpills()
337 if (locations->HasCustomSlowPathCallingConvention()) { in GetSlowPathSpills()
[all …]
/art/test/510-checker-try-catch/smali/
DRegisterAllocator.smali23 ## 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/
Dhost_bcp.sh21 Extracts boot class path locations from <image> and outputs the appropriate
23 --runtime-arg -Xbootclasspath-locations:...
84 --runtime-arg -Xbootclasspath-locations:${BCPL}
Ddex2oat_wrapper20 # boot classpath and bootclasspath locations.
45 elif [[ $1 == "-Xbootclasspath-locations:*" ]]; then
47 # Remove '-Xbootclasspath-locations:' from the argument.
48 DEX2OAT_BCP_LOCS=${DEX2OAT_BCP_LOCS##-Xbootclasspath-locations:}
120 --runtime-arg -Xbootclasspath-locations:$DEX2OAT_BCP_LOCS \
/art/test/614-checker-dump-constant-location/
Dinfo.txt2 locations in parallel moves.
/art/test/555-UnsafeGetLong-regression/
Dinfo.txt1 Regression test for sun.misc.Unsafe.getLong's intrinsic's locations
/art/test/2236-JdkUnsafeGetLong-regression/
Dinfo.txt1 Regression test for jdk.internal.misc.Unsafe.getLong's intrinsic's locations

12