Lines Matching refs:locations

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()
487 locations->InAt(1), in EmitNativeCode()
515 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local
516 Location out = locations->Out(); in EmitNativeCode()
523 SaveLiveRegisters(codegen, locations); in EmitNativeCode()
535 Location source = instruction_->IsLoadClass() ? out : locations->InAt(0); in EmitNativeCode()
545 DCHECK(out.IsRegister() && !locations->GetLiveRegisters()->ContainsCoreRegister(out.reg())); in EmitNativeCode()
546 arm_codegen->Move32(locations->Out(), LocationFrom(r0)); in EmitNativeCode()
548 RestoreLiveRegisters(codegen, locations); in EmitNativeCode()
569 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local
570 DCHECK(!locations->GetLiveRegisters()->ContainsCoreRegister(locations->Out().reg())); in EmitNativeCode()
575 SaveLiveRegisters(codegen, locations); in EmitNativeCode()
582 arm_codegen->Move32(locations->Out(), LocationFrom(r0)); in EmitNativeCode()
583 RestoreLiveRegisters(codegen, locations); in EmitNativeCode()
600 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local
602 || !locations->GetLiveRegisters()->ContainsCoreRegister(locations->Out().reg())); in EmitNativeCode()
608 SaveLiveRegisters(codegen, locations); in EmitNativeCode()
615 codegen->EmitParallelMoves(locations->InAt(0), in EmitNativeCode()
618 locations->InAt(1), in EmitNativeCode()
627 arm_codegen->Move32(locations->Out(), LocationFrom(r0)); in EmitNativeCode()
638 RestoreLiveRegisters(codegen, locations); in EmitNativeCode()
661 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local
662 SaveLiveRegisters(codegen, locations); in EmitNativeCode()
682 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local
684 SaveLiveRegisters(codegen, locations); in EmitNativeCode()
689 locations->InAt(0), in EmitNativeCode()
694 locations->InAt(1), in EmitNativeCode()
699 locations->InAt(2), in EmitNativeCode()
708 RestoreLiveRegisters(codegen, locations); in EmitNativeCode()
749 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local
751 DCHECK(locations->CanCall()); in EmitNativeCode()
752 DCHECK(!locations->GetLiveRegisters()->ContainsCoreRegister(reg_out.GetCode())); in EmitNativeCode()
768 SaveLiveRegisters(codegen, locations); in EmitNativeCode()
779 DCHECK(locations->GetLiveRegisters()->ContainsCoreRegister(index_reg.GetCode())); in EmitNativeCode()
867 RestoreLiveRegisters(codegen, locations); in EmitNativeCode()
914 LocationSummary* locations = instruction_->GetLocations(); in EmitNativeCode() local
916 DCHECK(locations->CanCall()); in EmitNativeCode()
917 DCHECK(!locations->GetLiveRegisters()->ContainsCoreRegister(reg_out.GetCode())); in EmitNativeCode()
923 SaveLiveRegisters(codegen, locations); in EmitNativeCode()
935 RestoreLiveRegisters(codegen, locations); in EmitNativeCode()
1129 const LocationSummary* const locations = instruction->GetLocations(); in GenerateLongDataProc() local
1132 const Location first = locations->InAt(0); in GenerateLongDataProc()
1133 const Location second = locations->InAt(1); in GenerateLongDataProc()
1134 const Location out = locations->Out(); in GenerateLongDataProc()
1308 const LocationSummary* const locations = condition->GetLocations(); in GenerateLongTestConstant() local
1317 const Location left = locations->InAt(0); in GenerateLongTestConstant()
1318 const Location right = locations->InAt(1); in GenerateLongTestConstant()
1429 const LocationSummary* const locations = condition->GetLocations(); in GenerateLongTest() local
1438 Location left = locations->InAt(0); in GenerateLongTest()
1439 Location right = locations->InAt(1); in GenerateLongTest()
1554 const LocationSummary* const locations = cond->GetLocations(); in GenerateEqualLong() local
1557 const Location left = locations->InAt(0); in GenerateEqualLong()
1558 const Location right = locations->InAt(1); in GenerateEqualLong()
1610 const LocationSummary* const locations = cond->GetLocations(); in GenerateConditionLong() local
1613 const Location left = locations->InAt(0); in GenerateConditionLong()
1614 const Location right = locations->InAt(1); in GenerateConditionLong()
2370 void CodeGeneratorARMVIXL::AddLocationAsTemp(Location location, LocationSummary* locations) { in AddLocationAsTemp() argument
2372 locations->AddTemp(location); in AddLocationAsTemp()
2374 locations->AddTemp(LocationFrom(LowRegisterFrom(location))); in AddLocationAsTemp()
2375 locations->AddTemp(LocationFrom(HighRegisterFrom(location))); in AddLocationAsTemp()
2598 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(if_instr); in VisitIf() local
2600 locations->SetInAt(0, Location::RequiresRegister()); in VisitIf()
2615 LocationSummary* locations = new (GetGraph()->GetAllocator()) in VisitDeoptimize() local
2620 locations->SetCustomSlowPathCallerSaves(caller_saves); in VisitDeoptimize()
2622 locations->SetInAt(0, Location::RequiresRegister()); in VisitDeoptimize()
2636 LocationSummary* locations = new (GetGraph()->GetAllocator()) in VisitShouldDeoptimizeFlag() local
2638 locations->SetOut(Location::RequiresRegister()); in VisitShouldDeoptimizeFlag()
2649 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(select); in VisitSelect() local
2653 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitSelect()
2654 locations->SetInAt(1, Location::FpuRegisterOrConstant(select->GetTrueValue())); in VisitSelect()
2656 locations->SetInAt(0, Location::RequiresRegister()); in VisitSelect()
2657 locations->SetInAt(1, Arm8BitEncodableConstantOrRegister(select->GetTrueValue())); in VisitSelect()
2661 locations->SetInAt(2, Location::RegisterOrConstant(select->GetCondition())); in VisitSelect()
2663 locations->SetOut(Location::SameAsFirstInput()); in VisitSelect()
2665 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitSelect()
2667 if (!locations->InAt(1).IsConstant()) { in VisitSelect()
2668 locations->SetInAt(0, Arm8BitEncodableConstantOrRegister(select->GetFalseValue())); in VisitSelect()
2671 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitSelect()
2677 const LocationSummary* const locations = select->GetLocations(); in VisitSelect() local
2679 const Location first = locations->InAt(0); in VisitSelect()
2680 const Location out = locations->Out(); in VisitSelect()
2681 const Location second = locations->InAt(1); in VisitSelect()
2901 LocationSummary* locations = in HandleCondition() local
2905 locations->SetInAt(0, Location::RequiresFpuRegister()); in HandleCondition()
2906 locations->SetInAt(1, ArithmeticZeroOrFpuRegister(cond->InputAt(1))); in HandleCondition()
2908 locations->SetInAt(0, Location::RequiresRegister()); in HandleCondition()
2909 locations->SetInAt(1, Location::RegisterOrConstant(cond->InputAt(1))); in HandleCondition()
2912 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in HandleCondition()
3045 LocationSummary* locations = in VisitIntConstant() local
3047 locations->SetOut(Location::ConstantLocation(constant)); in VisitIntConstant()
3055 LocationSummary* locations = in VisitNullConstant() local
3057 locations->SetOut(Location::ConstantLocation(constant)); in VisitNullConstant()
3065 LocationSummary* locations = in VisitLongConstant() local
3067 locations->SetOut(Location::ConstantLocation(constant)); in VisitLongConstant()
3075 LocationSummary* locations = in VisitFloatConstant() local
3077 locations->SetOut(Location::ConstantLocation(constant)); in VisitFloatConstant()
3086 LocationSummary* locations = in VisitDoubleConstant() local
3088 locations->SetOut(Location::ConstantLocation(constant)); in VisitDoubleConstant()
3122 LocationSummary* locations = in VisitReturn() local
3124 locations->SetInAt(0, parameter_visitor_.GetReturnLocation(ret->InputAt(0)->GetType())); in VisitReturn()
3175 LocationSummary* locations = invoke->GetLocations(); in VisitInvokeStaticOrDirect() local
3177 invoke, locations->HasTemps() ? locations->GetTemp(0) : Location::NoLocation()); in VisitInvokeStaticOrDirect()
3216 LocationSummary* locations = invoke->GetLocations(); in VisitInvokeInterface() local
3217 vixl32::Register temp = RegisterFrom(locations->GetTemp(0)); in VisitInvokeInterface()
3218 vixl32::Register hidden_reg = RegisterFrom(locations->GetTemp(1)); in VisitInvokeInterface()
3219 Location receiver = locations->InAt(0); in VisitInvokeInterface()
3305 LocationSummary* locations = in VisitNeg() local
3309 locations->SetInAt(0, Location::RequiresRegister()); in VisitNeg()
3310 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitNeg()
3314 locations->SetInAt(0, Location::RequiresRegister()); in VisitNeg()
3315 locations->SetOut(Location::RequiresRegister(), Location::kOutputOverlap); in VisitNeg()
3321 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitNeg()
3322 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitNeg()
3331 LocationSummary* locations = neg->GetLocations(); in VisitNeg() local
3332 Location out = locations->Out(); in VisitNeg()
3333 Location in = locations->InAt(0); in VisitNeg()
3377 LocationSummary* locations = in VisitTypeConversion() local
3386 locations->SetInAt(0, Location::RequiresRegister()); in VisitTypeConversion()
3387 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitTypeConversion()
3393 locations->SetInAt(0, Location::Any()); in VisitTypeConversion()
3394 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitTypeConversion()
3398 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitTypeConversion()
3399 locations->SetOut(Location::RequiresRegister()); in VisitTypeConversion()
3400 locations->AddTemp(Location::RequiresFpuRegister()); in VisitTypeConversion()
3404 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitTypeConversion()
3405 locations->SetOut(Location::RequiresRegister()); in VisitTypeConversion()
3406 locations->AddTemp(Location::RequiresFpuRegister()); in VisitTypeConversion()
3423 locations->SetInAt(0, Location::RequiresRegister()); in VisitTypeConversion()
3424 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitTypeConversion()
3429 locations->SetInAt(0, LocationFrom(calling_convention.GetFpuRegisterAt(0))); in VisitTypeConversion()
3430 locations->SetOut(LocationFrom(r0, r1)); in VisitTypeConversion()
3436 locations->SetInAt(0, LocationFrom(calling_convention.GetFpuRegisterAt(0), in VisitTypeConversion()
3438 locations->SetOut(LocationFrom(r0, r1)); in VisitTypeConversion()
3456 locations->SetInAt(0, Location::RequiresRegister()); in VisitTypeConversion()
3457 locations->SetOut(Location::RequiresFpuRegister()); in VisitTypeConversion()
3462 locations->SetInAt(0, LocationFrom(calling_convention.GetRegisterAt(0), in VisitTypeConversion()
3464 locations->SetOut(LocationFrom(calling_convention.GetFpuRegisterAt(0))); in VisitTypeConversion()
3469 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitTypeConversion()
3470 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitTypeConversion()
3487 locations->SetInAt(0, Location::RequiresRegister()); in VisitTypeConversion()
3488 locations->SetOut(Location::RequiresFpuRegister()); in VisitTypeConversion()
3492 locations->SetInAt(0, Location::RequiresRegister()); in VisitTypeConversion()
3493 locations->SetOut(Location::RequiresFpuRegister()); in VisitTypeConversion()
3494 locations->AddTemp(Location::RequiresFpuRegister()); in VisitTypeConversion()
3495 locations->AddTemp(Location::RequiresFpuRegister()); in VisitTypeConversion()
3499 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitTypeConversion()
3500 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitTypeConversion()
3516 LocationSummary* locations = conversion->GetLocations(); in VisitTypeConversion() local
3517 Location out = locations->Out(); in VisitTypeConversion()
3518 Location in = locations->InAt(0); in VisitTypeConversion()
3613 vixl32::SRegister temp = LowSRegisterFrom(locations->GetTemp(0)); in VisitTypeConversion()
3620 vixl32::SRegister temp_s = LowSRegisterFrom(locations->GetTemp(0)); in VisitTypeConversion()
3707 vixl32::SRegister temp_s = LowSRegisterFrom(locations->GetTemp(0)); in VisitTypeConversion()
3708 vixl32::DRegister temp_d = DRegisterFrom(locations->GetTemp(0)); in VisitTypeConversion()
3709 vixl32::DRegister constant_d = DRegisterFrom(locations->GetTemp(1)); in VisitTypeConversion()
3741 LocationSummary* locations = in VisitAdd() local
3745 locations->SetInAt(0, Location::RequiresRegister()); in VisitAdd()
3746 locations->SetInAt(1, Location::RegisterOrConstant(add->InputAt(1))); in VisitAdd()
3747 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitAdd()
3752 locations->SetInAt(0, Location::RequiresRegister()); in VisitAdd()
3753 locations->SetInAt(1, ArmEncodableConstantOrRegister(add->InputAt(1), ADD)); in VisitAdd()
3754 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitAdd()
3760 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitAdd()
3761 locations->SetInAt(1, Location::RequiresFpuRegister()); in VisitAdd()
3762 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitAdd()
3772 LocationSummary* locations = add->GetLocations(); in VisitAdd() local
3773 Location out = locations->Out(); in VisitAdd()
3774 Location first = locations->InAt(0); in VisitAdd()
3775 Location second = locations->InAt(1); in VisitAdd()
3806 LocationSummary* locations = in VisitSub() local
3810 locations->SetInAt(0, Location::RequiresRegister()); in VisitSub()
3811 locations->SetInAt(1, Location::RegisterOrConstant(sub->InputAt(1))); in VisitSub()
3812 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitSub()
3817 locations->SetInAt(0, Location::RequiresRegister()); in VisitSub()
3818 locations->SetInAt(1, ArmEncodableConstantOrRegister(sub->InputAt(1), SUB)); in VisitSub()
3819 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitSub()
3824 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitSub()
3825 locations->SetInAt(1, Location::RequiresFpuRegister()); in VisitSub()
3826 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitSub()
3835 LocationSummary* locations = sub->GetLocations(); in VisitSub() local
3836 Location out = locations->Out(); in VisitSub()
3837 Location first = locations->InAt(0); in VisitSub()
3838 Location second = locations->InAt(1); in VisitSub()
3868 LocationSummary* locations = in VisitMul() local
3873 locations->SetInAt(0, Location::RequiresRegister()); in VisitMul()
3874 locations->SetInAt(1, Location::RequiresRegister()); in VisitMul()
3875 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitMul()
3881 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitMul()
3882 locations->SetInAt(1, Location::RequiresFpuRegister()); in VisitMul()
3883 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitMul()
3893 LocationSummary* locations = mul->GetLocations(); in VisitMul() local
3894 Location out = locations->Out(); in VisitMul()
3895 Location first = locations->InAt(0); in VisitMul()
3896 Location second = locations->InAt(1); in VisitMul()
3972 LocationSummary* locations = instruction->GetLocations(); in DivRemByPowerOfTwo() local
3973 Location second = locations->InAt(1); in DivRemByPowerOfTwo()
3978 vixl32::Register temp = RegisterFrom(locations->GetTemp(0)); in DivRemByPowerOfTwo()
4006 LocationSummary* locations = instruction->GetLocations(); in GenerateDivRemWithAnyConstant() local
4007 Location second = locations->InAt(1); in GenerateDivRemWithAnyConstant()
4012 vixl32::Register temp1 = RegisterFrom(locations->GetTemp(0)); in GenerateDivRemWithAnyConstant()
4013 vixl32::Register temp2 = RegisterFrom(locations->GetTemp(1)); in GenerateDivRemWithAnyConstant()
4078 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(div, call_kind); in VisitDiv() local
4083 locations->SetInAt(0, Location::RequiresRegister()); in VisitDiv()
4084 locations->SetInAt(1, Location::ConstantLocation(div->InputAt(1)->AsConstant())); in VisitDiv()
4085 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitDiv()
4090 locations->AddTemp(Location::RequiresRegister()); in VisitDiv()
4092 locations->AddTemp(Location::RequiresRegister()); in VisitDiv()
4096 locations->SetInAt(0, Location::RequiresRegister()); in VisitDiv()
4097 locations->SetInAt(1, Location::RequiresRegister()); in VisitDiv()
4098 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitDiv()
4101 locations->SetInAt(0, LocationFrom(calling_convention.GetRegisterAt(0))); in VisitDiv()
4102 locations->SetInAt(1, LocationFrom(calling_convention.GetRegisterAt(1))); in VisitDiv()
4105 locations->SetOut(LocationFrom(r0)); in VisitDiv()
4111 locations->SetInAt(0, LocationFrom( in VisitDiv()
4113 locations->SetInAt(1, LocationFrom( in VisitDiv()
4115 locations->SetOut(LocationFrom(r0, r1)); in VisitDiv()
4120 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitDiv()
4121 locations->SetInAt(1, Location::RequiresFpuRegister()); in VisitDiv()
4122 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitDiv()
4191 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(rem, call_kind); in VisitRem() local
4196 locations->SetInAt(0, Location::RequiresRegister()); in VisitRem()
4197 locations->SetInAt(1, Location::ConstantLocation(rem->InputAt(1)->AsConstant())); in VisitRem()
4198 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitRem()
4203 locations->AddTemp(Location::RequiresRegister()); in VisitRem()
4205 locations->AddTemp(Location::RequiresRegister()); in VisitRem()
4209 locations->SetInAt(0, Location::RequiresRegister()); in VisitRem()
4210 locations->SetInAt(1, Location::RequiresRegister()); in VisitRem()
4211 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitRem()
4212 locations->AddTemp(Location::RequiresRegister()); in VisitRem()
4215 locations->SetInAt(0, LocationFrom(calling_convention.GetRegisterAt(0))); in VisitRem()
4216 locations->SetInAt(1, LocationFrom(calling_convention.GetRegisterAt(1))); in VisitRem()
4219 locations->SetOut(LocationFrom(r1)); in VisitRem()
4225 locations->SetInAt(0, LocationFrom( in VisitRem()
4227 locations->SetInAt(1, LocationFrom( in VisitRem()
4230 locations->SetOut(LocationFrom(r2, r3)); in VisitRem()
4235 locations->SetInAt(0, LocationFrom(calling_convention.GetFpuRegisterAt(0))); in VisitRem()
4236 locations->SetInAt(1, LocationFrom(calling_convention.GetFpuRegisterAt(1))); in VisitRem()
4237 locations->SetOut(LocationFrom(s0)); in VisitRem()
4243 locations->SetInAt(0, LocationFrom( in VisitRem()
4245 locations->SetInAt(1, LocationFrom( in VisitRem()
4247 locations->SetOut(LocationFrom(s0, s1)); in VisitRem()
4257 LocationSummary* locations = rem->GetLocations(); in VisitRem() local
4258 Location second = locations->InAt(1); in VisitRem()
4269 vixl32::Register temp = RegisterFrom(locations->GetTemp(0)); in VisitRem()
4311 LocationSummary* locations = new (allocator) LocationSummary(minmax); in CreateMinMaxLocations() local
4314 locations->SetInAt(0, Location::RequiresRegister()); in CreateMinMaxLocations()
4315 locations->SetInAt(1, Location::RequiresRegister()); in CreateMinMaxLocations()
4316 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in CreateMinMaxLocations()
4319 locations->SetInAt(0, Location::RequiresRegister()); in CreateMinMaxLocations()
4320 locations->SetInAt(1, Location::RequiresRegister()); in CreateMinMaxLocations()
4321 locations->SetOut(Location::SameAsFirstInput()); in CreateMinMaxLocations()
4324 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateMinMaxLocations()
4325 locations->SetInAt(1, Location::RequiresFpuRegister()); in CreateMinMaxLocations()
4326 locations->SetOut(Location::SameAsFirstInput()); in CreateMinMaxLocations()
4327 locations->AddTemp(Location::RequiresRegister()); in CreateMinMaxLocations()
4330 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateMinMaxLocations()
4331 locations->SetInAt(1, Location::RequiresFpuRegister()); in CreateMinMaxLocations()
4332 locations->SetOut(Location::SameAsFirstInput()); in CreateMinMaxLocations()
4339 void InstructionCodeGeneratorARMVIXL::GenerateMinMaxInt(LocationSummary* locations, bool is_min) { in GenerateMinMaxInt() argument
4340 Location op1_loc = locations->InAt(0); in GenerateMinMaxInt()
4341 Location op2_loc = locations->InAt(1); in GenerateMinMaxInt()
4342 Location out_loc = locations->Out(); in GenerateMinMaxInt()
4361 void InstructionCodeGeneratorARMVIXL::GenerateMinMaxLong(LocationSummary* locations, bool is_min) { in GenerateMinMaxLong() argument
4362 Location op1_loc = locations->InAt(0); in GenerateMinMaxLong()
4363 Location op2_loc = locations->InAt(1); in GenerateMinMaxLong()
4364 Location out_loc = locations->Out(); in GenerateMinMaxLong()
4401 LocationSummary* locations = minmax->GetLocations(); in GenerateMinMaxFloat() local
4402 Location op1_loc = locations->InAt(0); in GenerateMinMaxFloat()
4403 Location op2_loc = locations->InAt(1); in GenerateMinMaxFloat()
4404 Location out_loc = locations->Out(); in GenerateMinMaxFloat()
4418 vixl32::Register temp2 = RegisterFrom(locations->GetTemp(0)); in GenerateMinMaxFloat()
4462 LocationSummary* locations = minmax->GetLocations(); in GenerateMinMaxDouble() local
4463 Location op1_loc = locations->InAt(0); in GenerateMinMaxDouble()
4464 Location op2_loc = locations->InAt(1); in GenerateMinMaxDouble()
4465 Location out_loc = locations->Out(); in GenerateMinMaxDouble()
4549 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(abs); in VisitAbs() local
4553 locations->SetInAt(0, Location::RequiresRegister()); in VisitAbs()
4554 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitAbs()
4555 locations->AddTemp(Location::RequiresRegister()); in VisitAbs()
4559 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitAbs()
4560 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitAbs()
4568 LocationSummary* locations = abs->GetLocations(); in VisitAbs() local
4571 vixl32::Register in_reg = RegisterFrom(locations->InAt(0)); in VisitAbs()
4572 vixl32::Register out_reg = RegisterFrom(locations->Out()); in VisitAbs()
4573 vixl32::Register mask = RegisterFrom(locations->GetTemp(0)); in VisitAbs()
4580 Location in = locations->InAt(0); in VisitAbs()
4583 Location output = locations->Out(); in VisitAbs()
4587 vixl32::Register mask = RegisterFrom(locations->GetTemp(0)); in VisitAbs()
4605 LocationSummary* locations = codegen_->CreateThrowingSlowPathLocations(instruction); in VisitDivZeroCheck() local
4606 locations->SetInAt(0, Location::RegisterOrConstant(instruction->InputAt(0))); in VisitDivZeroCheck()
4614 LocationSummary* locations = instruction->GetLocations(); in VisitDivZeroCheck() local
4615 Location value = locations->InAt(0); in VisitDivZeroCheck()
4654 LocationSummary* locations = ror->GetLocations(); in HandleIntegerRotate() local
4656 Location rhs = locations->InAt(1); in HandleIntegerRotate()
4681 LocationSummary* locations = ror->GetLocations(); in HandleLongRotate() local
4682 vixl32::Register in_reg_lo = LowRegisterFrom(locations->InAt(0)); in HandleLongRotate()
4683 vixl32::Register in_reg_hi = HighRegisterFrom(locations->InAt(0)); in HandleLongRotate()
4684 Location rhs = locations->InAt(1); in HandleLongRotate()
4685 vixl32::Register out_reg_lo = LowRegisterFrom(locations->Out()); in HandleLongRotate()
4686 vixl32::Register out_reg_hi = HighRegisterFrom(locations->Out()); in HandleLongRotate()
4710 vixl32::Register shift_right = RegisterFrom(locations->GetTemp(0)); in HandleLongRotate()
4711 vixl32::Register shift_left = RegisterFrom(locations->GetTemp(1)); in HandleLongRotate()
4748 LocationSummary* locations = in VisitRor() local
4752 locations->SetInAt(0, Location::RequiresRegister()); in VisitRor()
4753 locations->SetInAt(1, Location::RegisterOrConstant(ror->InputAt(1))); in VisitRor()
4754 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitRor()
4758 locations->SetInAt(0, Location::RequiresRegister()); in VisitRor()
4760 locations->SetInAt(1, Location::ConstantLocation(ror->InputAt(1)->AsConstant())); in VisitRor()
4762 locations->SetInAt(1, Location::RequiresRegister()); in VisitRor()
4763 locations->AddTemp(Location::RequiresRegister()); in VisitRor()
4764 locations->AddTemp(Location::RequiresRegister()); in VisitRor()
4766 locations->SetOut(Location::RequiresRegister(), Location::kOutputOverlap); in VisitRor()
4794 LocationSummary* locations = in HandleShift() local
4799 locations->SetInAt(0, Location::RequiresRegister()); in HandleShift()
4801 locations->SetInAt(1, Location::ConstantLocation(op->InputAt(1)->AsConstant())); in HandleShift()
4802 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in HandleShift()
4804 locations->SetInAt(1, Location::RequiresRegister()); in HandleShift()
4807 locations->SetOut(Location::RequiresRegister(), Location::kOutputOverlap); in HandleShift()
4812 locations->SetInAt(0, Location::RequiresRegister()); in HandleShift()
4814 locations->SetInAt(1, Location::ConstantLocation(op->InputAt(1)->AsConstant())); in HandleShift()
4817 locations->SetOut(Location::RequiresRegister(), Location::kOutputOverlap); in HandleShift()
4819 locations->SetInAt(1, Location::RequiresRegister()); in HandleShift()
4820 locations->AddTemp(Location::RequiresRegister()); in HandleShift()
4821 locations->SetOut(Location::RequiresRegister(), Location::kOutputOverlap); in HandleShift()
4833 LocationSummary* locations = op->GetLocations(); in HandleShift() local
4834 Location out = locations->Out(); in HandleShift()
4835 Location first = locations->InAt(0); in HandleShift()
4836 Location second = locations->InAt(1); in HandleShift()
4877 vixl32::Register temp = RegisterFrom(locations->GetTemp(0)); in HandleShift()
5028 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary( in VisitNewInstance() local
5031 locations->SetInAt(0, LocationFrom(calling_convention.GetRegisterAt(0))); in VisitNewInstance()
5032 locations->SetOut(LocationFrom(r0)); in VisitNewInstance()
5042 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary( in VisitNewArray() local
5045 locations->SetOut(LocationFrom(r0)); in VisitNewArray()
5046 locations->SetInAt(0, LocationFrom(calling_convention.GetRegisterAt(0))); in VisitNewArray()
5047 locations->SetInAt(1, LocationFrom(calling_convention.GetRegisterAt(1))); in VisitNewArray()
5060 LocationSummary* locations = in VisitParameterValue() local
5068 locations->SetOut(location); in VisitParameterValue()
5077 LocationSummary* locations = in VisitCurrentMethod() local
5079 locations->SetOut(LocationFrom(kMethodRegister)); in VisitCurrentMethod()
5088 LocationSummary* locations = in VisitNot() local
5090 locations->SetInAt(0, Location::RequiresRegister()); in VisitNot()
5091 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitNot()
5095 LocationSummary* locations = not_->GetLocations(); in VisitNot() local
5096 Location out = locations->Out(); in VisitNot()
5097 Location in = locations->InAt(0); in VisitNot()
5114 LocationSummary* locations = in VisitBooleanNot() local
5116 locations->SetInAt(0, Location::RequiresRegister()); in VisitBooleanNot()
5117 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitBooleanNot()
5125 LocationSummary* locations = in VisitCompare() local
5135 locations->SetInAt(0, Location::RequiresRegister()); in VisitCompare()
5136 locations->SetInAt(1, Location::RequiresRegister()); in VisitCompare()
5138 locations->SetOut(Location::RequiresRegister(), Location::kOutputOverlap); in VisitCompare()
5143 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitCompare()
5144 locations->SetInAt(1, ArithmeticZeroOrFpuRegister(compare->InputAt(1))); in VisitCompare()
5145 locations->SetOut(Location::RequiresRegister()); in VisitCompare()
5154 LocationSummary* locations = compare->GetLocations(); in VisitCompare() local
5156 Location left = locations->InAt(0); in VisitCompare()
5157 Location right = locations->InAt(1); in VisitCompare()
5216 LocationSummary* locations = in VisitPhi() local
5218 for (size_t i = 0, e = locations->GetInputCount(); i < e; ++i) { in VisitPhi()
5219 locations->SetInAt(i, Location::Any()); in VisitPhi()
5221 locations->SetOut(Location::Any()); in VisitPhi()
5294 LocationSummary* locations = in HandleFieldSet() local
5296 locations->SetInAt(0, Location::RequiresRegister()); in HandleFieldSet()
5300 locations->SetInAt(1, Location::RequiresFpuRegister()); in HandleFieldSet()
5302 locations->SetInAt(1, Location::RequiresRegister()); in HandleFieldSet()
5314 locations->AddTemp(Location::RequiresRegister()); // Possibly used for reference poisoning too. in HandleFieldSet()
5315 locations->AddTemp(Location::RequiresRegister()); in HandleFieldSet()
5324 locations->AddTemp(Location::RequiresRegister()); in HandleFieldSet()
5325 locations->AddTemp(Location::RequiresRegister()); in HandleFieldSet()
5328 locations->AddTemp(LocationFrom(r2)); in HandleFieldSet()
5329 locations->AddTemp(LocationFrom(r3)); in HandleFieldSet()
5339 LocationSummary* locations = instruction->GetLocations(); in HandleFieldSet() local
5341 Location value = locations->InAt(1); in HandleFieldSet()
5372 vixl32::Register temp = RegisterFrom(locations->GetTemp(0)); in HandleFieldSet()
5388 RegisterFrom(locations->GetTemp(0)), in HandleFieldSet()
5389 RegisterFrom(locations->GetTemp(1)), in HandleFieldSet()
5406 vixl32::Register value_reg_lo = RegisterFrom(locations->GetTemp(0)); in HandleFieldSet()
5407 vixl32::Register value_reg_hi = RegisterFrom(locations->GetTemp(1)); in HandleFieldSet()
5415 RegisterFrom(locations->GetTemp(2)), in HandleFieldSet()
5416 RegisterFrom(locations->GetTemp(3)), in HandleFieldSet()
5443 vixl32::Register temp = RegisterFrom(locations->GetTemp(0)); in HandleFieldSet()
5444 vixl32::Register card = RegisterFrom(locations->GetTemp(1)); in HandleFieldSet()
5459 LocationSummary* locations = in HandleFieldGet() local
5465 locations->SetCustomSlowPathCallerSaves(RegisterSet::Empty()); // No caller-save registers. in HandleFieldGet()
5467 locations->SetInAt(0, Location::RequiresRegister()); in HandleFieldGet()
5482 locations->SetOut(Location::RequiresFpuRegister()); in HandleFieldGet()
5484 locations->SetOut(Location::RequiresRegister(), in HandleFieldGet()
5494 locations->AddTemp(Location::RequiresRegister()); in HandleFieldGet()
5495 locations->AddTemp(Location::RequiresRegister()); in HandleFieldGet()
5501 locations->AddTemp(Location::RequiresRegister()); in HandleFieldGet()
5588 LocationSummary* locations = instruction->GetLocations(); in HandleFieldGet() local
5590 Location out = locations->Out(); in HandleFieldGet()
5612 Location maybe_temp = (locations->GetTempCount() != 0) ? locations->GetTemp(0) : Location(); in HandleFieldGet()
5629 codegen_->MaybeGenerateReadBarrierSlow(instruction, out, out, locations->InAt(0), offset); in HandleFieldGet()
5649 vixl32::Register lo = RegisterFrom(locations->GetTemp(0)); in HandleFieldGet()
5650 vixl32::Register hi = RegisterFrom(locations->GetTemp(1)); in HandleFieldGet()
5794 LocationSummary* locations = codegen_->CreateThrowingSlowPathLocations(instruction); in VisitNullCheck() local
5795 locations->SetInAt(0, Location::RequiresRegister()); in VisitNullCheck()
5894 LocationSummary* locations = in VisitArrayGet() local
5900 locations->SetCustomSlowPathCallerSaves(RegisterSet::Empty()); // No caller-save registers. in VisitArrayGet()
5902 locations->SetInAt(0, Location::RequiresRegister()); in VisitArrayGet()
5903 locations->SetInAt(1, Location::RegisterOrConstant(instruction->InputAt(1))); in VisitArrayGet()
5905 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitArrayGet()
5910 locations->SetOut( in VisitArrayGet()
5924 locations->AddTemp(Location::RequiresRegister()); in VisitArrayGet()
5929 locations->AddTemp(Location::RequiresRegister()); in VisitArrayGet()
5933 locations->AddTemp(Location::RequiresRegister()); in VisitArrayGet()
5938 LocationSummary* locations = instruction->GetLocations(); in VisitArrayGet() local
5939 Location obj_loc = locations->InAt(0); in VisitArrayGet()
5941 Location index = locations->InAt(1); in VisitArrayGet()
5942 Location out_loc = locations->Out(); in VisitArrayGet()
5959 length = RegisterFrom(locations->GetTemp(0)); in VisitArrayGet()
6047 (locations->GetTempCount() != 0) ? locations->GetTemp(0) : Location(); in VisitArrayGet()
6056 Location temp = locations->GetTemp(0); in VisitArrayGet()
6173 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary( in VisitArraySet() local
6179 locations->SetInAt(0, Location::RequiresRegister()); in VisitArraySet()
6180 locations->SetInAt(1, Location::RegisterOrConstant(instruction->InputAt(1))); in VisitArraySet()
6182 locations->SetInAt(2, Location::RequiresFpuRegister()); in VisitArraySet()
6184 locations->SetInAt(2, Location::RequiresRegister()); in VisitArraySet()
6188 locations->AddTemp(Location::RequiresRegister()); // Possibly used for ref. poisoning too. in VisitArraySet()
6189 locations->AddTemp(Location::RequiresRegister()); in VisitArraySet()
6194 LocationSummary* locations = instruction->GetLocations(); in VisitArraySet() local
6196 Location index = locations->InAt(1); in VisitArraySet()
6203 Location value_loc = locations->InAt(2); in VisitArraySet()
6269 Location temp1_loc = locations->GetTemp(0); in VisitArraySet()
6271 Location temp2_loc = locations->GetTemp(1); in VisitArraySet()
6396 Location value = locations->InAt(2); in VisitArraySet()
6411 Location value = locations->InAt(2); in VisitArraySet()
6426 Location value = locations->InAt(2); in VisitArraySet()
6456 LocationSummary* locations = in VisitArrayLength() local
6458 locations->SetInAt(0, Location::RequiresRegister()); in VisitArrayLength()
6459 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitArrayLength()
6480 LocationSummary* locations = in VisitIntermediateAddress() local
6483 locations->SetInAt(0, Location::RequiresRegister()); in VisitIntermediateAddress()
6484 locations->SetInAt(1, Location::RegisterOrConstant(instruction->GetOffset())); in VisitIntermediateAddress()
6485 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitIntermediateAddress()
6515 LocationSummary* locations = codegen_->CreateThrowingSlowPathLocations(instruction, caller_saves); in VisitBoundsCheck() local
6524 locations->SetInAt(0, both_const in VisitBoundsCheck()
6527 locations->SetInAt(1, both_const in VisitBoundsCheck()
6533 LocationSummary* locations = instruction->GetLocations(); in VisitBoundsCheck() local
6534 Location index_loc = locations->InAt(0); in VisitBoundsCheck()
6535 Location length_loc = locations->InAt(1); in VisitBoundsCheck()
6618 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary( in VisitSuspendCheck() local
6620 locations->SetCustomSlowPathCallerSaves(RegisterSet::Empty()); // No caller-save registers. in VisitSuspendCheck()
6958 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(cls, call_kind); in VisitLoadClass() local
6960 locations->SetCustomSlowPathCallerSaves(RegisterSet::Empty()); // No caller-save registers. in VisitLoadClass()
6964 locations->SetInAt(0, Location::RequiresRegister()); in VisitLoadClass()
6966 locations->SetOut(Location::RequiresRegister()); in VisitLoadClass()
6970 locations->SetCustomSlowPathCallerSaves(OneRegInReferenceOutSaveEverythingCallerSaves()); in VisitLoadClass()
6988 LocationSummary* locations = cls->GetLocations(); in VisitLoadClass() local
6989 Location out_loc = locations->Out(); in VisitLoadClass()
7092 LocationSummary* locations = in VisitClinitCheck() local
7094 locations->SetInAt(0, Location::RequiresRegister()); in VisitClinitCheck()
7096 locations->SetOut(Location::SameAsFirstInput()); in VisitClinitCheck()
7099 locations->SetCustomSlowPathCallerSaves(OneRegInReferenceOutSaveEverythingCallerSaves()); in VisitClinitCheck()
7210 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(load, call_kind); in VisitLoadString() local
7213 locations->SetOut(LocationFrom(r0)); in VisitLoadString()
7215 locations->SetOut(Location::RequiresRegister()); in VisitLoadString()
7219 locations->SetCustomSlowPathCallerSaves(OneRegInReferenceOutSaveEverythingCallerSaves()); in VisitLoadString()
7230 LocationSummary* locations = load->GetLocations(); in VisitLoadString() local
7231 Location out_loc = locations->Out(); in VisitLoadString()
7298 LocationSummary* locations = in VisitLoadException() local
7300 locations->SetOut(Location::RequiresRegister()); in VisitLoadException()
7321 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary( in VisitThrow() local
7324 locations->SetInAt(0, LocationFrom(calling_convention.GetRegisterAt(0))); in VisitThrow()
7377 LocationSummary* locations = in VisitInstanceOf() local
7380 locations->SetCustomSlowPathCallerSaves(RegisterSet::Empty()); // No caller-save registers. in VisitInstanceOf()
7382 locations->SetInAt(0, Location::RequiresRegister()); in VisitInstanceOf()
7384 locations->SetInAt(1, Location::ConstantLocation(instruction->InputAt(1)->AsConstant())); in VisitInstanceOf()
7385 locations->SetInAt(2, Location::ConstantLocation(instruction->InputAt(2)->AsConstant())); in VisitInstanceOf()
7386 locations->SetInAt(3, Location::ConstantLocation(instruction->InputAt(3)->AsConstant())); in VisitInstanceOf()
7388 locations->SetInAt(1, Location::RequiresRegister()); in VisitInstanceOf()
7392 locations->SetOut(Location::RequiresRegister(), Location::kOutputOverlap); in VisitInstanceOf()
7393 locations->AddRegisterTemps(NumberOfInstanceOfTemps(type_check_kind)); in VisitInstanceOf()
7398 LocationSummary* locations = instruction->GetLocations(); in VisitInstanceOf() local
7399 Location obj_loc = locations->InAt(0); in VisitInstanceOf()
7404 Location out_loc = locations->Out(); in VisitInstanceOf()
7408 Location maybe_temp_loc = (num_temps >= 1) ? locations->GetTemp(0) : Location::NoLocation(); in VisitInstanceOf()
7607 DCHECK(locations->OnlyCallsOnSlowPath()); in VisitInstanceOf()
7636 DCHECK(locations->OnlyCallsOnSlowPath()); in VisitInstanceOf()
7677 LocationSummary* locations = in VisitCheckCast() local
7679 locations->SetInAt(0, Location::RequiresRegister()); in VisitCheckCast()
7681 locations->SetInAt(1, Location::ConstantLocation(instruction->InputAt(1)->AsConstant())); in VisitCheckCast()
7682 locations->SetInAt(2, Location::ConstantLocation(instruction->InputAt(2)->AsConstant())); in VisitCheckCast()
7683 locations->SetInAt(3, Location::ConstantLocation(instruction->InputAt(3)->AsConstant())); in VisitCheckCast()
7685 locations->SetInAt(1, Location::RequiresRegister()); in VisitCheckCast()
7687 locations->AddRegisterTemps(NumberOfCheckCastTemps(type_check_kind)); in VisitCheckCast()
7692 LocationSummary* locations = instruction->GetLocations(); in VisitCheckCast() local
7693 Location obj_loc = locations->InAt(0); in VisitCheckCast()
7698 Location temp_loc = locations->GetTemp(0); in VisitCheckCast()
7702 Location maybe_temp2_loc = (num_temps >= 2) ? locations->GetTemp(1) : Location::NoLocation(); in VisitCheckCast()
7703 Location maybe_temp3_loc = (num_temps >= 3) ? locations->GetTemp(2) : Location::NoLocation(); in VisitCheckCast()
7905 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary( in VisitMonitorOperation() local
7908 locations->SetInAt(0, LocationFrom(calling_convention.GetRegisterAt(0))); in VisitMonitorOperation()
7936 LocationSummary* locations = in HandleBitwiseOperation() local
7941 locations->SetInAt(0, Location::RequiresRegister()); in HandleBitwiseOperation()
7942 locations->SetInAt(1, ArmEncodableConstantOrRegister(instruction->InputAt(1), opcode)); in HandleBitwiseOperation()
7943 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in HandleBitwiseOperation()
7959 LocationSummary* locations = in VisitBitwiseNegatedRight() local
7964 locations->SetInAt(0, Location::RequiresRegister()); in VisitBitwiseNegatedRight()
7965 locations->SetInAt(1, Location::RequiresRegister()); in VisitBitwiseNegatedRight()
7966 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitBitwiseNegatedRight()
7970 LocationSummary* locations = instruction->GetLocations(); in VisitBitwiseNegatedRight() local
7971 Location first = locations->InAt(0); in VisitBitwiseNegatedRight()
7972 Location second = locations->InAt(1); in VisitBitwiseNegatedRight()
7973 Location out = locations->Out(); in VisitBitwiseNegatedRight()
8026 LocationSummary* locations = in VisitDataProcWithShifterOp() local
8031 locations->SetInAt(0, Location::RequiresRegister()); in VisitDataProcWithShifterOp()
8032 locations->SetInAt(1, Location::RequiresRegister()); in VisitDataProcWithShifterOp()
8033 locations->SetOut(Location::RequiresRegister(), in VisitDataProcWithShifterOp()
8039 const LocationSummary* const locations = instruction->GetLocations(); in VisitDataProcWithShifterOp() local
8047 ? LowRegisterFrom(locations->InAt(1)) in VisitDataProcWithShifterOp()
8085 DCHECK(!LowRegisterFrom(locations->Out()).Is(second)); in VisitDataProcWithShifterOp()
8087 locations->Out(), in VisitDataProcWithShifterOp()
8088 locations->InAt(0), in VisitDataProcWithShifterOp()
8186 LocationSummary* locations = instruction->GetLocations(); in HandleBitwiseOperation() local
8187 Location first = locations->InAt(0); in HandleBitwiseOperation()
8188 Location second = locations->InAt(1); in HandleBitwiseOperation()
8189 Location out = locations->Out(); in HandleBitwiseOperation()
9073 LocationSummary* locations = in VisitMultiplyAccumulate() local
9075 locations->SetInAt(HMultiplyAccumulate::kInputAccumulatorIndex, in VisitMultiplyAccumulate()
9077 locations->SetInAt(HMultiplyAccumulate::kInputMulLeftIndex, Location::RequiresRegister()); in VisitMultiplyAccumulate()
9078 locations->SetInAt(HMultiplyAccumulate::kInputMulRightIndex, Location::RequiresRegister()); in VisitMultiplyAccumulate()
9079 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitMultiplyAccumulate()
9110 LocationSummary* locations = in VisitPackedSwitch() local
9112 locations->SetInAt(0, Location::RequiresRegister()); in VisitPackedSwitch()
9115 locations->AddTemp(Location::RequiresRegister()); // We need a temp for the table base. in VisitPackedSwitch()
9117 locations->AddTemp(Location::RequiresRegister()); // We need a temp for the bias. in VisitPackedSwitch()
9126 LocationSummary* locations = switch_instr->GetLocations(); in VisitPackedSwitch() local
9164 vixl32::Register table_base = RegisterFrom(locations->GetTemp(0)); in VisitPackedSwitch()
9171 key_reg = RegisterFrom(locations->GetTemp(1)); in VisitPackedSwitch()
9232 LocationSummary* locations = in VisitClassTableGet() local
9234 locations->SetInAt(0, Location::RequiresRegister()); in VisitClassTableGet()
9235 locations->SetOut(Location::RequiresRegister()); in VisitClassTableGet()