Home
last modified time | relevance | path

Searched refs:InstructionOperand (Results 1 – 25 of 51) sorted by relevance

123

/third_party/node/deps/v8/src/compiler/backend/
Dinstruction-selector-impl.h78 InstructionOperand NoOutput() { in NoOutput()
79 return InstructionOperand(); // Generates an invalid operand. in NoOutput()
82 InstructionOperand DefineAsRegister(Node* node) { in DefineAsRegister()
88 InstructionOperand DefineSameAsInput(Node* node, int input_index) { in DefineSameAsInput()
92 InstructionOperand DefineSameAsFirst(Node* node) { in DefineSameAsFirst()
96 InstructionOperand DefineAsFixed(Node* node, Register reg) { in DefineAsFixed()
102 InstructionOperand DefineAsFixed(Node* node, FPRegType reg) { in DefineAsFixed()
108 InstructionOperand DefineAsConstant(Node* node) { in DefineAsConstant()
115 InstructionOperand DefineAsLocation(Node* node, LinkageLocation location) { in DefineAsLocation()
119 InstructionOperand DefineAsDualLocation(Node* node, in DefineAsDualLocation()
[all …]
Dinstruction-selector.h314 Instruction* Emit(InstructionCode opcode, InstructionOperand output,
315 size_t temp_count = 0, InstructionOperand* temps = nullptr);
316 Instruction* Emit(InstructionCode opcode, InstructionOperand output,
317 InstructionOperand a, size_t temp_count = 0,
318 InstructionOperand* temps = nullptr);
319 Instruction* Emit(InstructionCode opcode, InstructionOperand output,
320 InstructionOperand a, InstructionOperand b,
321 size_t temp_count = 0, InstructionOperand* temps = nullptr);
322 Instruction* Emit(InstructionCode opcode, InstructionOperand output,
323 InstructionOperand a, InstructionOperand b,
[all …]
Dinstruction.h43 class V8_EXPORT_PRIVATE INSTRUCTION_OPERAND_ALIGN InstructionOperand {
59 InstructionOperand() : InstructionOperand(INVALID) {} in InstructionOperand() function
108 static void ReplaceWith(InstructionOperand* dest, in ReplaceWith()
109 const InstructionOperand* src) { in ReplaceWith()
113 bool Equals(const InstructionOperand& that) const { in Equals()
121 bool Compare(const InstructionOperand& that) const { in Compare()
125 bool EqualsCanonicalized(const InstructionOperand& that) const { in EqualsCanonicalized()
133 bool CompareCanonicalized(const InstructionOperand& that) const { in CompareCanonicalized()
138 bool InterferesWith(const InstructionOperand& other) const;
143 bool operator==(InstructionOperand& other) const { return Equals(other); }
[all …]
Dregister-allocator-verifier.h77 InstructionOperand operand) in PendingAssessment()
97 InstructionOperand operand() const { return operand_; } in operand()
103 InstructionOperand operand_;
127 bool operator()(const InstructionOperand& a, in operator()
128 const InstructionOperand& b) const { in operator()
136 using OperandMap = ZoneMap<InstructionOperand, Assessment*, OperandAsKeyLess>;
137 using OperandSet = ZoneSet<InstructionOperand, OperandAsKeyLess>;
147 void Drop(InstructionOperand operand) { in Drop()
152 void AddDefinition(InstructionOperand operand, int virtual_register) { in AddDefinition()
175 bool IsStaleReferenceStackSlot(InstructionOperand op);
[all …]
Dcode-generator.h47 InstructionOperand* Advance() { return instr_->InputAt(pos_++); } in Advance()
278 void AssembleReturn(InstructionOperand* pop);
294 static bool IsValidPush(InstructionOperand source, PushTypeFlags push_type);
322 static Type InferMove(InstructionOperand* source,
323 InstructionOperand* destination);
324 static Type InferSwap(InstructionOperand* source,
325 InstructionOperand* destination);
341 void IncrementStackAccessCounter(InstructionOperand* source,
342 InstructionOperand* destination);
349 void AssembleMove(InstructionOperand* source,
[all …]
Dcode-generator-impl.h129 Label* ToLabel(InstructionOperand* op) { in ToLabel()
133 RpoNumber ToRpoNumber(InstructionOperand* op) { in ToRpoNumber()
137 Register ToRegister(InstructionOperand* op) const { in ToRegister()
141 FloatRegister ToFloatRegister(InstructionOperand* op) { in ToFloatRegister()
145 DoubleRegister ToDoubleRegister(InstructionOperand* op) { in ToDoubleRegister()
149 Simd128Register ToSimd128Register(InstructionOperand* op) { in ToSimd128Register()
153 Constant ToConstant(InstructionOperand* op) const { in ToConstant()
161 double ToDouble(InstructionOperand* op) { in ToDouble()
165 float ToFloat32(InstructionOperand* op) { return ToConstant(op).ToFloat32(); } in ToFloat32()
167 ExternalReference ToExternalReference(InstructionOperand* op) { in ToExternalReference()
[all …]
Dgap-resolver.h22 virtual void AssembleMove(InstructionOperand* source,
23 InstructionOperand* destination) = 0;
25 virtual void AssembleSwap(InstructionOperand* source,
26 InstructionOperand* destination) = 0;
Dmove-optimizer.cc16 InstructionOperand source;
17 InstructionOperand destination;
33 explicit OperandSet(ZoneVector<InstructionOperand>* buffer) in OperandSet()
38 void InsertOp(const InstructionOperand& op) { in InsertOp()
45 bool Contains(const InstructionOperand& op) const { in Contains()
46 for (const InstructionOperand& elem : *set_) { in Contains()
52 bool ContainsOpOrAlias(const InstructionOperand& op) const { in ContainsOpOrAlias()
108 ZoneVector<InstructionOperand>* set_;
263 InstructionOperand src = current->source; in MigrateMoves()
391 const InstructionOperand* op = last_instr->InputAt(i); in OptimizeMerge()
[all …]
Dregister-allocator.h234 void AddOperand(InstructionOperand* operand);
235 void CommitAssignment(const InstructionOperand& operand);
240 ZoneVector<InstructionOperand*> incoming_operands_;
247 InstructionOperand* operand;
314 const InstructionOperand& from,
315 const InstructionOperand& to);
463 UsePosition(LifetimePosition pos, InstructionOperand* operand, void* hint, in NON_EXPORTED_BASE()
468 InstructionOperand* operand() const { return operand_; } in NON_EXPORTED_BASE()
504 static UsePositionHintType HintTypeForOperand(const InstructionOperand& op); in NON_EXPORTED_BASE()
513 InstructionOperand* const operand_; in NON_EXPORTED_BASE()
[all …]
Dinstruction-selector.cc67 InstructionOperand::kInvalidVirtualRegister, zone), in InstructionSelector()
188 InstructionOperand output, in Emit()
190 InstructionOperand* temps) { in Emit()
196 InstructionOperand output, in Emit()
197 InstructionOperand a, size_t temp_count, in Emit()
198 InstructionOperand* temps) { in Emit()
204 InstructionOperand output, in Emit()
205 InstructionOperand a, in Emit()
206 InstructionOperand b, size_t temp_count, in Emit()
207 InstructionOperand* temps) { in Emit()
[all …]
Dregister-allocator-verifier.cc111 CHECK_NE(InstructionOperand::kInvalidVirtualRegister, in VerifyInput()
126 CHECK_NE(InstructionOperand::kInvalidVirtualRegister, in VerifyOutput()
157 void RegisterAllocatorVerifier::BuildConstraint(const InstructionOperand* op, in BuildConstraint()
160 constraint->virtual_register_ = InstructionOperand::kInvalidVirtualRegister; in BuildConstraint()
226 const InstructionOperand* op, const OperandConstraint* constraint) { in CheckConstraint()
310 InstructionOperand op = pair.first; in PerformParallelMoves()
323 InstructionOperand op = current->first; in DropRegisters()
331 InstructionOperand op = pair.first; in CheckReferenceMap()
355 bool BlockAssessments::IsStaleReferenceStackSlot(InstructionOperand op) { in IsStaleReferenceStackSlot()
366 const InstructionOperand op = pair.first; in Print()
[all …]
Dmid-tier-register-allocator.cc144 const InstructionOperand& from, const InstructionOperand& to) { in AddGapMove()
311 void SpillOperand(InstructionOperand* operand, int instr_index,
316 void EmitGapMoveToInputFromSpillSlot(InstructionOperand to_operand,
319 void EmitGapMoveFromOutputToSpillSlot(InstructionOperand from_operand,
323 void EmitGapMoveToSpillSlot(InstructionOperand from_operand, int instr_index,
334 InstructionOperand* spill_operand() const { in spill_operand()
493 InstructionOperand* spill_operand, int instr_index,
504 InstructionOperand* spill_operand_;
526 InstructionOperand* spill_operand, in Initialize()
642 void VirtualRegisterData::SpillOperand(InstructionOperand* operand, in SpillOperand()
[all …]
Dinstruction.cc83 bool InstructionOperand::InterferesWith(const InstructionOperand& other) const { in InterferesWith()
146 void InstructionOperand::Print() const { StdoutStream{} << *this << std::endl; } in Print()
148 std::ostream& operator<<(std::ostream& os, const InstructionOperand& op) { in operator <<()
150 case InstructionOperand::UNALLOCATED: { in operator <<()
183 case InstructionOperand::CONSTANT: in operator <<()
186 case InstructionOperand::IMMEDIATE: { in operator <<()
199 case InstructionOperand::PENDING: in operator <<()
201 case InstructionOperand::ALLOCATED: { in operator <<()
275 case InstructionOperand::INVALID: in operator <<()
339 InstructionOperand* outputs, size_t input_count, in Instruction()
[all …]
Dregister-allocator.cc146 using DelayedInsertionMapKey = std::pair<ParallelMove*, InstructionOperand>;
158 using DelayedInsertionMap = ZoneMap<DelayedInsertionMapKey, InstructionOperand,
161 UsePosition::UsePosition(LifetimePosition pos, InstructionOperand* operand, in UsePosition()
206 InstructionOperand* operand = in HintRegister()
207 reinterpret_cast<InstructionOperand*>(hint_); in HintRegister()
224 const InstructionOperand& op) { in HintTypeForOperand()
226 case InstructionOperand::CONSTANT: in HintTypeForOperand()
227 case InstructionOperand::IMMEDIATE: in HintTypeForOperand()
229 case InstructionOperand::UNALLOCATED: in HintTypeForOperand()
231 case InstructionOperand::ALLOCATED: in HintTypeForOperand()
[all …]
Dmove-optimizer.h61 ZoneVector<InstructionOperand> operand_buffer1;
62 ZoneVector<InstructionOperand> operand_buffer2;
/third_party/node/deps/v8/src/compiler/backend/ia32/
Dinstruction-selector-ia32.cc57 InstructionOperand UseByteRegister(Node* node) { in UseByteRegister()
62 InstructionOperand DefineAsByteRegister(Node* node) { in DefineAsByteRegister()
132 DisplacementMode displacement_mode, InstructionOperand inputs[], in GenerateMemoryOperandInputs()
192 DisplacementMode displacement_mode, InstructionOperand inputs[], in GenerateMemoryOperandInputs()
203 Node* node, InstructionOperand inputs[], size_t* input_count, in GetEffectiveAddressMemoryOperand()
236 InstructionOperand GetEffectiveIndexOperand(Node* index, in GetEffectiveIndexOperand()
294 InstructionOperand input_op = in VisitRO()
302 InstructionOperand temps[] = {g.TempRegister()}; in VisitROWithTemp()
310 InstructionOperand temps[] = {g.TempSimd128Register()}; in VisitROWithTempSimd()
326 InstructionOperand operand0 = g.UseRegister(node->InputAt(0)); in VisitRROFloat()
[all …]
/third_party/node/deps/v8/src/compiler/backend/arm/
Dinstruction-selector-arm.cc157 InstructionOperand* value_return, in TryMatchShift()
158 InstructionOperand* shift_return) { in TryMatchShift()
179 InstructionOperand* value_return, in TryMatchShiftImmediate()
180 InstructionOperand* shift_return) { in TryMatchShiftImmediate()
195 Node* node, InstructionOperand* value_return, in TryMatchROR()
196 InstructionOperand* shift_return) { in TryMatchROR()
203 Node* node, InstructionOperand* value_return, in TryMatchASR()
204 InstructionOperand* shift_return) { in TryMatchASR()
211 Node* node, InstructionOperand* value_return, in TryMatchLSL()
212 InstructionOperand* shift_return) { in TryMatchLSL()
[all …]
/third_party/node/deps/v8/src/compiler/backend/x64/
Dinstruction-selector-x64.cc129 DisplacementMode displacement_mode, InstructionOperand inputs[], in GenerateMemoryOperandInputs()
199 Node* operand, InstructionOperand inputs[], size_t* input_count, in GetEffectiveAddressMemoryOperand()
237 InstructionOperand GetEffectiveIndexOperand(Node* index, in GetEffectiveIndexOperand()
406 InstructionOperand outputs[] = {g.DefineAsRegister(node)}; in VisitLoadLane()
410 InstructionOperand inputs[5]; in VisitLoadLane()
489 InstructionOperand temps[] = {g.TempRegister()}; in VisitLoad()
493 InstructionOperand* temps = nullptr; in VisitLoad()
497 InstructionOperand outputs[] = {g.DefineAsRegister(node)}; in VisitLoad()
498 InstructionOperand inputs[3]; in VisitLoad()
527 InstructionOperand inputs[] = { in VisitAtomicExchange()
[all …]
/third_party/node/deps/v8/src/compiler/backend/riscv64/
Dinstruction-selector-riscv64.cc25 InstructionOperand UseOperand(Node* node, InstructionCode opcode) { in UseOperand()
34 InstructionOperand UseRegisterOrImmediateZero(Node* node) { in UseRegisterOrImmediateZero()
267 InstructionOperand inputs[2]; in TryEmitExtendingLoad()
273 InstructionOperand outputs[] = {g.DefineAsRegister(output_node)}; in TryEmitExtendingLoad()
283 size_t* input_count_return, InstructionOperand* inputs) { in TryMatchImmediate()
300 InstructionOperand inputs[2]; in VisitBinop()
302 InstructionOperand outputs[1]; in VisitBinop()
400 InstructionOperand addr_reg = g.TempRegister(); in EmitLoad()
422 InstructionOperand addr_reg = g.TempRegister(); in EmitS128Load()
441 InstructionOperand addr_reg = g.TempRegister(); in VisitStoreLane()
[all …]
/third_party/node/deps/v8/src/compiler/backend/mips/
Dinstruction-selector-mips.cc25 InstructionOperand UseOperand(Node* node, InstructionCode opcode) { in UseOperand()
34 InstructionOperand UseRegisterOrImmediateZero(Node* node) { in UseRegisterOrImmediateZero()
165 size_t* input_count_return, InstructionOperand* inputs) { in TryMatchImmediate()
182 InstructionOperand inputs[2]; in VisitBinop()
184 InstructionOperand outputs[1]; in VisitBinop()
246 InstructionOperand inputs[] = {g.UseRegister(base), g.UseRegister(index), in VisitPairAtomicBinop()
249 InstructionOperand outputs[2]; in VisitPairAtomicBinop()
251 InstructionOperand temps[3]; in VisitPairAtomicBinop()
332 InstructionOperand addr_reg = g.TempRegister(); in VisitLoadTransform()
384 InstructionOperand addr_reg = g.TempRegister(); in VisitLoad()
[all …]
/third_party/node/deps/v8/src/compiler/backend/ppc/
Dinstruction-selector-ppc.cc32 InstructionOperand UseOperand(Node* node, ImmediateMode mode) { in UseOperand()
102 InstructionOperand inputs[] = {g.UseRegister(node->InputAt(0))}; in VisitTryTruncateDouble()
103 InstructionOperand outputs[2]; in VisitTryTruncateDouble()
123 InstructionOperand inputs[4]; in VisitBinop()
125 InstructionOperand outputs[2]; in VisitBinop()
296 InstructionOperand inputs[3]; in VisitStoreCommon()
315 InstructionOperand temps[] = {g.TempRegister(), g.TempRegister()}; in VisitStoreCommon()
615 InstructionOperand* const outputs = nullptr; in VisitStackPointerGreaterThan()
621 InstructionOperand temps[] = {g.TempRegister()}; in VisitStackPointerGreaterThan()
628 InstructionOperand inputs[] = {g.UseRegisterWithMode(value, register_mode)}; in VisitStackPointerGreaterThan()
[all …]
/third_party/node/deps/v8/src/compiler/backend/mips64/
Dinstruction-selector-mips64.cc27 InstructionOperand UseOperand(Node* node, InstructionCode opcode) { in UseOperand()
36 InstructionOperand UseRegisterOrImmediateZero(Node* node) { in UseRegisterOrImmediateZero()
261 InstructionOperand inputs[2]; in TryEmitExtendingLoad()
267 InstructionOperand outputs[] = {g.DefineAsRegister(output_node)}; in TryEmitExtendingLoad()
277 size_t* input_count_return, InstructionOperand* inputs) { in TryMatchImmediate()
294 InstructionOperand inputs[2]; in VisitBinop()
296 InstructionOperand outputs[1]; in VisitBinop()
368 InstructionOperand addr_reg = g.TempRegister(); in EmitLoad()
379 InstructionOperand EmitAddBeforeS128LoadStore(InstructionSelector* selector, in EmitAddBeforeS128LoadStore()
385 InstructionOperand addr_reg = g.TempRegister(); in EmitAddBeforeS128LoadStore()
[all …]
/third_party/node/deps/v8/src/compiler/backend/arm64/
Dinstruction-selector-arm64.cc40 InstructionOperand UseOperand(Node* node, ImmediateMode mode) { in UseOperand()
49 InstructionOperand UseRegisterOrImmediateZero(Node* node) { in UseRegisterOrImmediateZero()
60 InstructionOperand UseImmediateOrTemp(Node* node, int32_t value) { in UseImmediateOrTemp()
276 InstructionOperand inputs[2]; in TryEmitExtendingLoad()
282 InstructionOperand outputs[] = {g.DefineAsRegister(node)}; in TryEmitExtendingLoad()
328 InstructionOperand* left_op, in TryMatchAnyExtend()
329 InstructionOperand* right_op, InstructionCode* opcode) { in TryMatchAnyExtend()
372 InstructionOperand* index_op, in TryMatchLoadStoreShift()
373 InstructionOperand* shift_immediate_op) { in TryMatchLoadStoreShift()
463 InstructionOperand inputs[5]; in VisitBinop()
[all …]
/third_party/node/deps/v8/src/compiler/backend/s390/
Dinstruction-selector-s390.cc88 InstructionOperand UseOperand(Node* node, OperandModes mode) { in UseOperand()
95 InstructionOperand UseAnyExceptImmediate(Node* node) { in UseAnyExceptImmediate()
173 InstructionOperand inputs[], in GenerateMemoryOperandInputs()
214 Node* operand, InstructionOperand inputs[], size_t* input_count, in GetEffectiveAddressMemoryOperand()
438 InstructionOperand inputs[] = {g.UseRegister(node->InputAt(0))}; in VisitTryTruncateDouble()
439 InstructionOperand outputs[2]; in VisitTryTruncateDouble()
456 InstructionOperand* inputs, size_t* input_count, in GenerateRightOperands()
501 InstructionOperand* inputs, size_t* input_count, in GenerateBinOpOperands()
505 InstructionOperand const left_input = g.UseRegister(left); in GenerateBinOpOperands()
583 InstructionOperand inputs[8]; in VISIT_OP_LIST()
[all …]
/third_party/node/deps/v8/src/compiler/backend/loong64/
Dinstruction-selector-loong64.cc27 InstructionOperand UseOperand(Node* node, InstructionCode opcode) { in UseOperand()
36 InstructionOperand UseRegisterOrImmediateZero(Node* node) { in UseRegisterOrImmediateZero()
257 InstructionOperand inputs[2]; in TryEmitExtendingLoad()
263 InstructionOperand outputs[] = {g.DefineAsRegister(output_node)}; in TryEmitExtendingLoad()
273 size_t* input_count_return, InstructionOperand* inputs) { in TryMatchImmediate()
290 InstructionOperand inputs[2]; in VisitBinop()
292 InstructionOperand outputs[1]; in VisitBinop()
503 InstructionOperand inputs[3]; in VisitStore()
1050 InstructionOperand temp = g.TempRegister(); in VisitInt32Mul()
1104 InstructionOperand temp = g.TempRegister(); in VisitInt64Mul()
[all …]

123