• Home
  • Raw
  • Download

Lines Matching refs:selector

17   explicit IA32OperandGenerator(InstructionSelector* selector)  in IA32OperandGenerator()  argument
18 : OperandGenerator(selector) {} in IA32OperandGenerator()
33 !selector()->CanCover(node, input)) { in CanBeMemoryOperand()
36 if (effect_level != selector()->GetEffectLevel(input)) { in CanBeMemoryOperand()
163 return !selector()->IsLive(node); in CanBeBetterLeftOperand()
170 void VisitRO(InstructionSelector* selector, Node* node, ArchOpcode opcode) { in VisitRO() argument
171 IA32OperandGenerator g(selector); in VisitRO()
172 selector->Emit(opcode, g.DefineAsRegister(node), g.Use(node->InputAt(0))); in VisitRO()
176 void VisitRR(InstructionSelector* selector, Node* node, in VisitRR() argument
178 IA32OperandGenerator g(selector); in VisitRR()
179 selector->Emit(opcode, g.DefineAsRegister(node), in VisitRR()
184 void VisitRROFloat(InstructionSelector* selector, Node* node, in VisitRROFloat() argument
186 IA32OperandGenerator g(selector); in VisitRROFloat()
189 if (selector->IsSupported(AVX)) { in VisitRROFloat()
190 selector->Emit(avx_opcode, g.DefineAsRegister(node), operand0, operand1); in VisitRROFloat()
192 selector->Emit(sse_opcode, g.DefineSameAsFirst(node), operand0, operand1); in VisitRROFloat()
197 void VisitFloatUnop(InstructionSelector* selector, Node* node, Node* input, in VisitFloatUnop() argument
199 IA32OperandGenerator g(selector); in VisitFloatUnop()
200 if (selector->IsSupported(AVX)) { in VisitFloatUnop()
201 selector->Emit(avx_opcode, g.DefineAsRegister(node), g.Use(input)); in VisitFloatUnop()
203 selector->Emit(sse_opcode, g.DefineSameAsFirst(node), g.UseRegister(input)); in VisitFloatUnop()
530 void VisitBinop(InstructionSelector* selector, Node* node, in VisitBinop() argument
532 IA32OperandGenerator g(selector); in VisitBinop()
582 selector->EmitDeoptimize(opcode, output_count, outputs, input_count, inputs, in VisitBinop()
585 selector->Emit(opcode, output_count, outputs, input_count, inputs); in VisitBinop()
591 void VisitBinop(InstructionSelector* selector, Node* node, in VisitBinop() argument
594 VisitBinop(selector, node, opcode, &cont); in VisitBinop()
621 static inline void VisitShift(InstructionSelector* selector, Node* node, in VisitShift() argument
623 IA32OperandGenerator g(selector); in VisitShift()
628 selector->Emit(opcode, g.DefineSameAsFirst(node), g.UseRegister(left), in VisitShift()
631 selector->Emit(opcode, g.DefineSameAsFirst(node), g.UseRegister(left), in VisitShift()
639 void VisitMulHigh(InstructionSelector* selector, Node* node, in VisitMulHigh() argument
641 IA32OperandGenerator g(selector); in VisitMulHigh()
643 selector->Emit( in VisitMulHigh()
649 void VisitDiv(InstructionSelector* selector, Node* node, ArchOpcode opcode) { in VisitDiv() argument
650 IA32OperandGenerator g(selector); in VisitDiv()
652 selector->Emit(opcode, g.DefineAsFixed(node, eax), in VisitDiv()
658 void VisitMod(InstructionSelector* selector, Node* node, ArchOpcode opcode) { in VisitMod() argument
659 IA32OperandGenerator g(selector); in VisitMod()
661 selector->Emit(opcode, g.DefineAsFixed(node, edx), in VisitMod()
666 void EmitLea(InstructionSelector* selector, Node* result, Node* index, in EmitLea() argument
669 IA32OperandGenerator g(selector); in EmitLea()
684 selector->Emit(opcode, 1, outputs, input_count, inputs); in EmitLea()
788 void VisitWord32PairShift(InstructionSelector* selector, InstructionCode opcode, in VisitWord32PairShift() argument
790 IA32OperandGenerator g(selector); in VisitWord32PairShift()
815 selector->Emit(opcode, output_count, outputs, 3, inputs, temp_count, temps); in VisitWord32PairShift()
1145 void VisitCompareWithMemoryOperand(InstructionSelector* selector, in VisitCompareWithMemoryOperand() argument
1150 IA32OperandGenerator g(selector); in VisitCompareWithMemoryOperand()
1162 selector->Emit(opcode, 0, nullptr, input_count, inputs); in VisitCompareWithMemoryOperand()
1164 selector->EmitDeoptimize(opcode, 0, nullptr, input_count, inputs, in VisitCompareWithMemoryOperand()
1168 selector->Emit(opcode, 1, &output, input_count, inputs); in VisitCompareWithMemoryOperand()
1172 selector->Emit(opcode, 0, nullptr, input_count, inputs); in VisitCompareWithMemoryOperand()
1177 void VisitCompare(InstructionSelector* selector, InstructionCode opcode, in VisitCompare() argument
1180 IA32OperandGenerator g(selector); in VisitCompare()
1183 selector->Emit(opcode, g.NoOutput(), left, right, in VisitCompare()
1186 selector->EmitDeoptimize(opcode, g.NoOutput(), left, right, cont->kind(), in VisitCompare()
1189 selector->Emit(opcode, g.DefineAsByteRegister(cont->result()), left, right); in VisitCompare()
1192 selector->Emit(opcode, g.NoOutput(), left, right, in VisitCompare()
1199 void VisitCompare(InstructionSelector* selector, InstructionCode opcode, in VisitCompare() argument
1202 IA32OperandGenerator g(selector); in VisitCompare()
1206 VisitCompare(selector, opcode, g.UseRegister(left), g.Use(right), cont); in VisitCompare()
1291 void VisitFloat32Compare(InstructionSelector* selector, Node* node, in VisitFloat32Compare() argument
1295 VisitCompare(selector, kSSEFloat32Cmp, right, left, cont, false); in VisitFloat32Compare()
1300 void VisitFloat64Compare(InstructionSelector* selector, Node* node, in VisitFloat64Compare() argument
1304 VisitCompare(selector, kSSEFloat64Cmp, right, left, cont, false); in VisitFloat64Compare()
1308 void VisitWordCompare(InstructionSelector* selector, Node* node, in VisitWordCompare() argument
1310 IA32OperandGenerator g(selector); in VisitWordCompare()
1317 int effect_level = selector->GetEffectLevel(node); in VisitWordCompare()
1319 effect_level = selector->GetEffectLevel( in VisitWordCompare()
1335 return VisitCompareWithMemoryOperand(selector, narrowed_opcode, left, in VisitWordCompare()
1338 return VisitCompare(selector, opcode, g.Use(left), g.UseImmediate(right), in VisitWordCompare()
1347 selector, narrowed_opcode, left, in VisitWordCompare()
1352 return VisitCompare(selector, opcode, left, right, cont, in VisitWordCompare()
1356 void VisitWordCompare(InstructionSelector* selector, Node* node, in VisitWordCompare() argument
1358 IA32OperandGenerator g(selector); in VisitWordCompare()
1363 ExternalReference::address_of_stack_limit(selector->isolate()); in VisitWordCompare()
1369 selector->Emit(opcode, g.NoOutput(), g.Label(cont->true_block()), in VisitWordCompare()
1372 selector->EmitDeoptimize(opcode, 0, nullptr, 0, nullptr, cont->kind(), in VisitWordCompare()
1376 selector->Emit(opcode, g.DefineAsRegister(cont->result())); in VisitWordCompare()
1381 VisitWordCompare(selector, node, kIA32Cmp, cont); in VisitWordCompare()
1386 void VisitWordCompareZero(InstructionSelector* selector, Node* user, in VisitWordCompareZero() argument
1390 selector->CanCover(user, value)) { in VisitWordCompareZero()
1399 if (selector->CanCover(user, value)) { in VisitWordCompareZero()
1403 return VisitWordCompare(selector, value, cont); in VisitWordCompareZero()
1406 return VisitWordCompare(selector, value, cont); in VisitWordCompareZero()
1409 return VisitWordCompare(selector, value, cont); in VisitWordCompareZero()
1412 return VisitWordCompare(selector, value, cont); in VisitWordCompareZero()
1415 return VisitWordCompare(selector, value, cont); in VisitWordCompareZero()
1418 return VisitFloat32Compare(selector, value, cont); in VisitWordCompareZero()
1421 return VisitFloat32Compare(selector, value, cont); in VisitWordCompareZero()
1424 return VisitFloat32Compare(selector, value, cont); in VisitWordCompareZero()
1427 return VisitFloat64Compare(selector, value, cont); in VisitWordCompareZero()
1430 return VisitFloat64Compare(selector, value, cont); in VisitWordCompareZero()
1433 return VisitFloat64Compare(selector, value, cont); in VisitWordCompareZero()
1445 if (result == nullptr || selector->IsDefined(result)) { in VisitWordCompareZero()
1449 return VisitBinop(selector, node, kIA32Add, cont); in VisitWordCompareZero()
1452 return VisitBinop(selector, node, kIA32Sub, cont); in VisitWordCompareZero()
1455 return VisitBinop(selector, node, kIA32Imul, cont); in VisitWordCompareZero()
1463 return VisitWordCompare(selector, value, cont); in VisitWordCompareZero()
1465 return VisitWordCompare(selector, value, kIA32Test, cont); in VisitWordCompareZero()
1472 IA32OperandGenerator g(selector); in VisitWordCompareZero()
1473 VisitCompare(selector, kIA32Cmp, g.Use(value), g.TempImmediate(0), cont); in VisitWordCompareZero()