Lines Matching refs:instruction

455 void CodeGeneratorARM::Move(HInstruction* instruction, Location location, HInstruction* move_for) {
456 LocationSummary* locations = instruction->GetLocations();
461 if (instruction->AsIntConstant() != nullptr) {
462 int32_t value = instruction->AsIntConstant()->GetValue();
470 } else if (instruction->AsLongConstant() != nullptr) {
471 int64_t value = instruction->AsLongConstant()->GetValue();
482 } else if (instruction->AsLoadLocal() != nullptr) {
483 uint32_t stack_slot = GetStackSlot(instruction->AsLoadLocal()->GetLocal());
484 switch (instruction->GetType()) {
499 LOG(FATAL) << "Unimplemented type " << instruction->GetType();
502 DCHECK((instruction->GetNext() == move_for) || instruction->GetNext()->IsTemporary());
503 switch (instruction->GetType()) {
518 LOG(FATAL) << "Unimplemented type " << instruction->GetType();
987 void LocationsBuilderARM::VisitNewInstance(HNewInstance* instruction) {
989 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
994 instruction->SetLocations(locations);
997 void InstructionCodeGeneratorARM::VisitNewInstance(HNewInstance* instruction) {
1000 __ LoadImmediate(calling_convention.GetRegisterAt(0), instruction->GetTypeIndex());
1006 codegen_->RecordPcInfo(instruction->GetDexPc());
1010 void LocationsBuilderARM::VisitParameterValue(HParameterValue* instruction) {
1011 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
1012 Location location = parameter_visitor_.GetNextLocation(instruction->GetType());
1019 instruction->SetLocations(locations);
1022 void InstructionCodeGeneratorARM::VisitParameterValue(HParameterValue* instruction) {
1026 void LocationsBuilderARM::VisitNot(HNot* instruction) {
1027 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
1030 instruction->SetLocations(locations);
1033 void InstructionCodeGeneratorARM::VisitNot(HNot* instruction) {
1034 LocationSummary* locations = instruction->GetLocations();
1083 void LocationsBuilderARM::VisitPhi(HPhi* instruction) {
1084 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
1085 for (size_t i = 0, e = instruction->InputCount(); i < e; ++i) {
1089 instruction->SetLocations(locations);
1092 void InstructionCodeGeneratorARM::VisitPhi(HPhi* instruction) {
1096 void LocationsBuilderARM::VisitInstanceFieldSet(HInstanceFieldSet* instruction) {
1097 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
1101 if (instruction->InputAt(1)->GetType() == Primitive::kPrimNot) {
1105 instruction->SetLocations(locations);
1108 void InstructionCodeGeneratorARM::VisitInstanceFieldSet(HInstanceFieldSet* instruction) {
1109 LocationSummary* locations = instruction->GetLocations();
1111 uint32_t offset = instruction->GetFieldOffset().Uint32Value();
1112 Primitive::Type field_type = instruction->InputAt(1)->GetType();
1156 void LocationsBuilderARM::VisitInstanceFieldGet(HInstanceFieldGet* instruction) {
1157 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
1160 instruction->SetLocations(locations);
1163 void InstructionCodeGeneratorARM::VisitInstanceFieldGet(HInstanceFieldGet* instruction) {
1164 LocationSummary* locations = instruction->GetLocations();
1166 uint32_t offset = instruction->GetFieldOffset().Uint32Value();
1168 switch (instruction->GetType()) {
1209 LOG(FATAL) << "Unimplemented register type " << instruction->GetType();
1212 LOG(FATAL) << "Unreachable type " << instruction->GetType();
1216 void LocationsBuilderARM::VisitNullCheck(HNullCheck* instruction) {
1217 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
1219 // TODO: Have a normalization phase that makes this instruction never used.
1221 instruction->SetLocations(locations);
1224 void InstructionCodeGeneratorARM::VisitNullCheck(HNullCheck* instruction) {
1226 new (GetGraph()->GetArena()) NullCheckSlowPathARM(instruction->GetDexPc());
1229 LocationSummary* locations = instruction->GetLocations();
1239 void LocationsBuilderARM::VisitArrayGet(HArrayGet* instruction) {
1240 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
1242 locations->SetInAt(1, Location::RegisterOrConstant(instruction->InputAt(1)));
1244 instruction->SetLocations(locations);
1247 void InstructionCodeGeneratorARM::VisitArrayGet(HArrayGet* instruction) {
1248 LocationSummary* locations = instruction->GetLocations();
1252 switch (instruction->GetType()) {
1335 LOG(FATAL) << "Unimplemented register type " << instruction->GetType();
1338 LOG(FATAL) << "Unreachable type " << instruction->GetType();
1342 void LocationsBuilderARM::VisitArraySet(HArraySet* instruction) {
1343 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
1344 Primitive::Type value_type = instruction->InputAt(2)->GetType();
1353 locations->SetInAt(1, Location::RegisterOrConstant(instruction->InputAt(1)));
1356 instruction->SetLocations(locations);
1359 void InstructionCodeGeneratorARM::VisitArraySet(HArraySet* instruction) {
1360 LocationSummary* locations = instruction->GetLocations();
1363 Primitive::Type value_type = instruction->InputAt(2)->GetType();
1411 codegen_->RecordPcInfo(instruction->GetDexPc());
1431 LOG(FATAL) << "Unimplemented register type " << instruction->GetType();
1434 LOG(FATAL) << "Unreachable type " << instruction->GetType();
1438 void LocationsBuilderARM::VisitArrayLength(HArrayLength* instruction) {
1439 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
1442 instruction->SetLocations(locations);
1445 void InstructionCodeGeneratorARM::VisitArrayLength(HArrayLength* instruction) {
1446 LocationSummary* locations = instruction->GetLocations();
1453 void LocationsBuilderARM::VisitBoundsCheck(HBoundsCheck* instruction) {
1454 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
1457 // TODO: Have a normalization phase that makes this instruction never used.
1459 instruction->SetLocations(locations);
1462 void InstructionCodeGeneratorARM::VisitBoundsCheck(HBoundsCheck* instruction) {
1463 LocationSummary* locations = instruction->GetLocations();
1465 instruction->GetDexPc(), locations->InAt(0), locations->InAt(1));
1492 void LocationsBuilderARM::VisitParallelMove(HParallelMove* instruction) {
1496 void InstructionCodeGeneratorARM::VisitParallelMove(HParallelMove* instruction) {
1497 codegen_->GetMoveResolver()->EmitNativeCode(instruction);