Home | History | Annotate | Download | only in optimizing

Lines Matching defs:instruction

423 void CodeGeneratorX86::Move(HInstruction* instruction, Location location, HInstruction* move_for) {
424 if (instruction->AsIntConstant() != nullptr) {
425 Immediate imm(instruction->AsIntConstant()->GetValue());
431 } else if (instruction->AsLongConstant() != nullptr) {
432 int64_t value = instruction->AsLongConstant()->GetValue();
440 } else if (instruction->AsLoadLocal() != nullptr) {
441 switch (instruction->GetType()) {
448 Move32(location, Location::StackSlot(GetStackSlot(instruction->AsLoadLocal()->GetLocal())));
453 GetStackSlot(instruction->AsLoadLocal()->GetLocal())));
457 LOG(FATAL) << "Unimplemented local type " << instruction->GetType();
460 DCHECK((instruction->GetNext() == move_for) || instruction->GetNext()->IsTemporary());
461 switch (instruction->GetType()) {
468 Move32(location, instruction->GetLocations()->Out());
472 Move64(location, instruction->GetLocations()->Out());
476 LOG(FATAL) << "Unimplemented type " << instruction->GetType();
536 HIntConstant* instruction = rhs.GetConstant()->AsIntConstant();
537 Immediate imm(instruction->AsIntConstant()->GetValue());
608 HConstant* instruction = locations->InAt(1).GetConstant();
609 Immediate imm(instruction->AsIntConstant()->GetValue());
839 HConstant* instruction = locations->InAt(1).GetConstant();
840 Immediate imm(instruction->AsIntConstant()->GetValue());
912 HConstant* instruction = locations->InAt(1).GetConstant();
913 Immediate imm(instruction->AsIntConstant()->GetValue());
951 void LocationsBuilderX86::VisitNewInstance(HNewInstance* instruction) {
953 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
958 instruction->SetLocations(locations);
961 void InstructionCodeGeneratorX86::VisitNewInstance(HNewInstance* instruction) {
964 __ movl(calling_convention.GetRegisterAt(0), Immediate(instruction->GetTypeIndex()));
969 codegen_->RecordPcInfo(instruction->GetDexPc());
973 void LocationsBuilderX86::VisitParameterValue(HParameterValue* instruction) {
974 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
975 Location location = parameter_visitor_.GetNextLocation(instruction->GetType());
982 instruction->SetLocations(locations);
985 void InstructionCodeGeneratorX86::VisitParameterValue(HParameterValue* instruction) {
988 void LocationsBuilderX86::VisitNot(HNot* instruction) {
989 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
992 instruction->SetLocations(locations);
995 void InstructionCodeGeneratorX86::VisitNot(HNot* instruction) {
996 LocationSummary* locations = instruction->GetLocations();
1052 void LocationsBuilderX86::VisitPhi(HPhi* instruction) {
1053 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
1054 for (size_t i = 0, e = instruction->InputCount(); i < e; ++i) {
1058 instruction->SetLocations(locations);
1061 void InstructionCodeGeneratorX86::VisitPhi(HPhi* instruction) {
1065 void LocationsBuilderX86::VisitInstanceFieldSet(HInstanceFieldSet* instruction) {
1066 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
1068 Primitive::Type field_type = instruction->InputAt(1)->GetType();
1081 instruction->SetLocations(locations);
1084 void InstructionCodeGeneratorX86::VisitInstanceFieldSet(HInstanceFieldSet* instruction) {
1085 LocationSummary* locations = instruction->GetLocations();
1087 uint32_t offset = instruction->GetFieldOffset().Uint32Value();
1088 Primitive::Type field_type = instruction->InputAt(1)->GetType();
1146 void LocationsBuilderX86::VisitInstanceFieldGet(HInstanceFieldGet* instruction) {
1147 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
1150 instruction->SetLocations(locations);
1153 void InstructionCodeGeneratorX86::VisitInstanceFieldGet(HInstanceFieldGet* instruction) {
1154 LocationSummary* locations = instruction->GetLocations();
1156 uint32_t offset = instruction->GetFieldOffset().Uint32Value();
1158 switch (instruction->GetType()) {
1200 LOG(FATAL) << "Unimplemented register type " << instruction->GetType();
1203 LOG(FATAL) << "Unreachable type " << instruction->GetType();
1207 void LocationsBuilderX86::VisitNullCheck(HNullCheck* instruction) {
1208 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
1210 // TODO: Have a normalization phase that makes this instruction never used.
1212 instruction->SetLocations(locations);
1215 void InstructionCodeGeneratorX86::VisitNullCheck(HNullCheck* instruction) {
1217 new (GetGraph()->GetArena()) NullCheckSlowPathX86(instruction->GetDexPc());
1220 LocationSummary* locations = instruction->GetLocations();
1233 void LocationsBuilderX86::VisitArrayGet(HArrayGet* instruction) {
1234 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
1236 locations->SetInAt(1, Location::RegisterOrConstant(instruction->InputAt(1)));
1238 instruction->SetLocations(locations);
1241 void InstructionCodeGeneratorX86::VisitArrayGet(HArrayGet* instruction) {
1242 LocationSummary* locations = instruction->GetLocations();
1246 switch (instruction->GetType()) {
1326 LOG(FATAL) << "Unimplemented register type " << instruction->GetType();
1329 LOG(FATAL) << "Unreachable type " << instruction->GetType();
1333 void LocationsBuilderX86::VisitArraySet(HArraySet* instruction) {
1334 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
1335 Primitive::Type value_type = instruction->InputAt(2)->GetType();
1344 locations->SetInAt(1, Location::RegisterOrConstant(instruction->InputAt(1)));
1353 instruction->SetLocations(locations);
1356 void InstructionCodeGeneratorX86::VisitArraySet(HArraySet* instruction) {
1357 LocationSummary* locations = instruction->GetLocations();
1360 Primitive::Type value_type = instruction->InputAt(2)->GetType();
1404 codegen_->RecordPcInfo(instruction->GetDexPc());
1426 LOG(FATAL) << "Unimplemented register type " << instruction->GetType();
1429 LOG(FATAL) << "Unreachable type " << instruction->GetType();
1433 void LocationsBuilderX86::VisitArrayLength(HArrayLength* instruction) {
1434 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
1437 instruction->SetLocations(locations);
1440 void InstructionCodeGeneratorX86::VisitArrayLength(HArrayLength* instruction) {
1441 LocationSummary* locations = instruction->GetLocations();
1448 void LocationsBuilderX86::VisitBoundsCheck(HBoundsCheck* instruction) {
1449 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
1452 // TODO: Have a normalization phase that makes this instruction never used.
1454 instruction->SetLocations(locations);
1457 void InstructionCodeGeneratorX86::VisitBoundsCheck(HBoundsCheck* instruction) {
1458 LocationSummary* locations = instruction->GetLocations();
1460 instruction->GetDexPc(), locations->InAt(0), locations->InAt(1));
1478 void LocationsBuilderX86::VisitParallelMove(HParallelMove* instruction) {
1482 void InstructionCodeGeneratorX86::VisitParallelMove(HParallelMove* instruction) {
1483 codegen_->GetMoveResolver()->EmitNativeCode(instruction);
1519 HIntConstant* instruction = source.GetConstant()->AsIntConstant();
1520 Immediate imm(instruction->AsIntConstant()->GetValue());