Home
last modified time | relevance | path

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

12

/external/v8/src/compiler/
Dinstruction-selector.h70 Instruction* Emit(InstructionCode opcode, InstructionOperand output,
71 size_t temp_count = 0, InstructionOperand* temps = nullptr);
72 Instruction* Emit(InstructionCode opcode, InstructionOperand output,
73 InstructionOperand a, size_t temp_count = 0,
74 InstructionOperand* temps = nullptr);
75 Instruction* Emit(InstructionCode opcode, InstructionOperand output,
76 InstructionOperand a, InstructionOperand b,
77 size_t temp_count = 0, InstructionOperand* temps = nullptr);
78 Instruction* Emit(InstructionCode opcode, InstructionOperand output,
79 InstructionOperand a, InstructionOperand b,
[all …]
Dinstruction-selector-impl.h36 InstructionOperand NoOutput() { in NoOutput()
37 return InstructionOperand(); // Generates an invalid operand. in NoOutput()
40 InstructionOperand DefineAsRegister(Node* node) { in DefineAsRegister()
46 InstructionOperand DefineSameAsFirst(Node* node) { in DefineSameAsFirst()
52 InstructionOperand DefineAsFixed(Node* node, Register reg) { in DefineAsFixed()
58 InstructionOperand DefineAsFixed(Node* node, FPRegType reg) { in DefineAsFixed()
64 InstructionOperand DefineAsConstant(Node* node) { in DefineAsConstant()
71 InstructionOperand DefineAsLocation(Node* node, LinkageLocation location, in DefineAsLocation()
76 InstructionOperand DefineAsDualLocation(Node* node, in DefineAsDualLocation()
84 InstructionOperand Use(Node* node) { in Use()
[all …]
Dinstruction.h30 class InstructionOperand {
38 InstructionOperand() : InstructionOperand(INVALID) {} in InstructionOperand() function
85 static void ReplaceWith(InstructionOperand* dest, in ReplaceWith()
86 const InstructionOperand* src) { in ReplaceWith()
90 bool Equals(const InstructionOperand& that) const { in Equals()
94 bool Compare(const InstructionOperand& that) const { in Compare()
98 bool EqualsCanonicalized(const InstructionOperand& that) const { in EqualsCanonicalized()
102 bool CompareCanonicalized(const InstructionOperand& that) const { in CompareCanonicalized()
106 bool InterferesWith(const InstructionOperand& that) const;
112 explicit InstructionOperand(Kind kind) : value_(KindField::encode(kind)) {} in InstructionOperand() function
[all …]
Dregister-allocator-verifier.h14 class InstructionOperand; variable
74 InstructionOperand operand) in PendingAssessment()
83 InstructionOperand operand() const { return operand_; } in operand()
87 InstructionOperand operand_;
120 bool operator()(const InstructionOperand& a, in operator()
121 const InstructionOperand& b) const { in operator()
129 typedef ZoneMap<InstructionOperand, Assessment*, OperandAsKeyLess> OperandMap;
132 void Drop(InstructionOperand operand) { map_.erase(operand); } in Drop()
134 void AddDefinition(InstructionOperand operand, int virtual_register) { in AddDefinition()
209 const ZoneMap<InstructionOperand, int, OperandAsKeyLess>& map() const { in map()
[all …]
Dcode-generator-impl.h106 Label* ToLabel(InstructionOperand* op) { in ToLabel()
110 RpoNumber ToRpoNumber(InstructionOperand* op) { in ToRpoNumber()
114 Register ToRegister(InstructionOperand* op) { in ToRegister()
118 DoubleRegister ToDoubleRegister(InstructionOperand* op) { in ToDoubleRegister()
122 FloatRegister ToFloatRegister(InstructionOperand* op) { in ToFloatRegister()
126 Constant ToConstant(InstructionOperand* op) { in ToConstant()
134 double ToDouble(InstructionOperand* op) { return ToConstant(op).ToFloat64(); } in ToDouble()
136 float ToFloat32(InstructionOperand* op) { return ToConstant(op).ToFloat32(); } in ToFloat32()
138 ExternalReference ToExternalReference(InstructionOperand* op) { in ToExternalReference()
142 Handle<HeapObject> ToHeapObject(InstructionOperand* op) { in ToHeapObject()
Dinstruction-selector.cc39 InstructionOperand::kInvalidVirtualRegister, zone), in InstructionSelector()
124 InstructionOperand output, in Emit()
126 InstructionOperand* temps) { in Emit()
133 InstructionOperand output, in Emit()
134 InstructionOperand a, size_t temp_count, in Emit()
135 InstructionOperand* temps) { in Emit()
142 InstructionOperand output, in Emit()
143 InstructionOperand a, in Emit()
144 InstructionOperand b, size_t temp_count, in Emit()
145 InstructionOperand* temps) { in Emit()
[all …]
Dregister-allocator.h251 UsePosition(LifetimePosition pos, InstructionOperand* operand, void* hint,
254 InstructionOperand* operand() const { return operand_; } in operand()
282 static UsePositionHintType HintTypeForOperand(const InstructionOperand& op);
290 InstructionOperand* const operand_;
322 InstructionOperand GetAssignedOperand() const;
410 void ConvertUsesToOperand(const InstructionOperand& op,
411 const InstructionOperand& spill_op);
520 InstructionOperand* GetSpillOperand() const { in GetSpillOperand()
545 InstructionOperand* operand);
546 void SetSpillOperand(InstructionOperand* operand);
[all …]
Dgap-resolver.h22 virtual void AssembleMove(InstructionOperand* source,
23 InstructionOperand* destination) = 0;
25 virtual void AssembleSwap(InstructionOperand* source,
26 InstructionOperand* destination) = 0;
Dinstruction.cc63 bool InstructionOperand::InterferesWith(const InstructionOperand& that) const { in InterferesWith()
74 void InstructionOperand::Print(const RegisterConfiguration* config) const { in Print()
82 void InstructionOperand::Print() const { Print(GetRegConfig()); } in Print()
86 const InstructionOperand& op = printable.op_; in operator <<()
89 case InstructionOperand::UNALLOCATED: { in operator <<()
118 case InstructionOperand::CONSTANT: in operator <<()
121 case InstructionOperand::IMMEDIATE: { in operator <<()
130 case InstructionOperand::EXPLICIT: in operator <<()
131 case InstructionOperand::ALLOCATED: { in operator <<()
188 case InstructionOperand::INVALID: in operator <<()
[all …]
Dcode-generator.h38 InstructionOperand* Advance() { return instr_->InputAt(pos_++); } in Advance()
143 void AssembleMove(InstructionOperand* source,
144 InstructionOperand* destination) final;
145 void AssembleSwap(InstructionOperand* source,
146 InstructionOperand* destination) final;
183 InstructionOperand* op, MachineType type);
Dregister-allocator-verifier.cc94 CHECK_NE(InstructionOperand::kInvalidVirtualRegister, in VerifyInput()
111 CHECK_NE(InstructionOperand::kInvalidVirtualRegister, in VerifyOutput()
141 void RegisterAllocatorVerifier::BuildConstraint(const InstructionOperand* op, in BuildConstraint()
144 constraint->virtual_register_ = InstructionOperand::kInvalidVirtualRegister; in BuildConstraint()
207 const InstructionOperand* op, const OperandConstraint* constraint) { in CheckConstraint()
297 InstructionOperand op = current->first; in DropRegisters()
334 InstructionOperand operand = pair.first; in CreateForBlock()
346 RpoNumber block_id, InstructionOperand op, in ValidatePendingAssessment()
363 InstructionOperand current_operand = current_assessment->operand(); in ValidatePendingAssessment()
438 RpoNumber block_id, InstructionOperand op, in ValidateFinalAssessment()
[all …]
Dregister-allocator.cc69 InstructionOperand* output = instr->OutputAt(i); in IsOutputRegisterOf()
81 InstructionOperand* output = instr->OutputAt(i); in IsOutputFPRegisterOf()
264 typedef std::pair<ParallelMove*, InstructionOperand> DelayedInsertionMapKey;
278 typedef ZoneMap<DelayedInsertionMapKey, InstructionOperand,
282 UsePosition::UsePosition(LifetimePosition pos, InstructionOperand* operand, in UsePosition()
326 InstructionOperand* operand = in HintRegister()
327 reinterpret_cast<InstructionOperand*>(hint_); in HintRegister()
346 const InstructionOperand& op) { in HintTypeForOperand()
348 case InstructionOperand::CONSTANT: in HintTypeForOperand()
349 case InstructionOperand::IMMEDIATE: in HintTypeForOperand()
[all …]
Dmove-optimizer.cc14 InstructionOperand source;
15 InstructionOperand destination;
28 typedef ZoneSet<InstructionOperand, CompareOperandModuloType> OperandSet;
30 bool Blocks(const OperandSet& set, const InstructionOperand& operand) { in Blocks()
211 InstructionOperand src = current->source; in MigrateMoves()
342 const InstructionOperand* op = last_instr->InputAt(i); in OptimizeMerge()
359 InstructionOperand src = move->source(); in OptimizeMerge()
360 InstructionOperand dst = move->destination(); in OptimizeMerge()
384 InstructionOperand dest = current->first.destination; in OptimizeMerge()
452 bool IsSlot(const InstructionOperand& op) { in IsSlot()
Dgap-resolver.cc17 inline bool Blocks(MoveOperands* move, InstructionOperand destination) { in Blocks()
50 InstructionOperand destination = move->destination(); in PerformMove()
77 InstructionOperand source = move->source(); in PerformMove()
/external/v8/test/unittests/compiler/
Dinstruction-sequence-unittest.cc151 InstructionOperand outputs[1]{ConvertOutputOp(vreg, output_op)}; in Define()
159 InstructionOperand inputs[1]{ConvertInputOp(input_op_0)}; in Return()
204 InstructionOperand outputs[1]{ConstantOperand(vreg.value_)}; in DefineConstant()
225 InstructionOperand* mapped_inputs = ConvertInputs(input_size, inputs); in EmitI()
242 InstructionOperand outputs[1]{ConvertOutputOp(output_vreg, output_op)}; in EmitOI()
243 InstructionOperand* mapped_inputs = ConvertInputs(input_size, inputs); in EmitOI()
261 InstructionOperand outputs[2]{ in EmitOOI()
264 InstructionOperand* mapped_inputs = ConvertInputs(input_size, inputs); in EmitOOI()
282 InstructionOperand outputs[1]{ConvertOutputOp(output_vreg, output_op)}; in EmitCall()
284 InstructionOperand* mapped_inputs = ConvertInputs(input_size, inputs); in EmitCall()
[all …]
Dinstruction-selector-unittest.h177 bool IsDouble(const InstructionOperand* operand) const { in IsDouble()
183 bool IsInteger(const InstructionOperand* operand) const { in IsInteger()
189 bool IsReference(const InstructionOperand* operand) const { in IsReference()
197 float ToFloat32(const InstructionOperand* operand) const { in ToFloat32()
201 double ToFloat64(const InstructionOperand* operand) const { in ToFloat64()
205 int32_t ToInt32(const InstructionOperand* operand) const { in ToInt32()
209 int64_t ToInt64(const InstructionOperand* operand) const { in ToInt64()
213 Handle<HeapObject> ToHeapObject(const InstructionOperand* operand) const { in ToHeapObject()
217 int ToVreg(const InstructionOperand* operand) const { in ToVreg()
221 EXPECT_EQ(InstructionOperand::UNALLOCATED, operand->kind()); in ToVreg()
[all …]
Dinstruction-sequence-unittest.h193 InstructionOperand* outputs,
195 InstructionOperand* inputs = nullptr,
197 InstructionOperand* temps = nullptr);
198 InstructionOperand Unallocated(TestOperand op,
200 InstructionOperand Unallocated(TestOperand op,
203 InstructionOperand Unallocated(TestOperand op,
206 InstructionOperand Unallocated(TestOperand op,
209 InstructionOperand* ConvertInputs(size_t input_size, TestOperand* inputs);
210 InstructionOperand ConvertInputOp(TestOperand op);
211 InstructionOperand ConvertOutputOp(VReg vreg, TestOperand op);
[all …]
/external/v8/test/cctest/compiler/
Dtest-gap-resolver.cc63 Value read(const InstructionOperand& op) const { in read()
68 void write(const InstructionOperand& op, Value v) { in write()
76 static Key KeyFor(const InstructionOperand& op) { in KeyFor()
99 static Value ValueFor(const InstructionOperand& op) { return KeyFor(op); } in ValueFor()
101 static InstructionOperand FromKey(Key key) { in FromKey()
116 InstructionOperand source = FromKey(it->first); in operator <<()
117 InstructionOperand destination = FromKey(it->second); in operator <<()
134 void AssembleMove(InstructionOperand* source, in AssembleMove()
135 InstructionOperand* destination) override { in AssembleMove()
141 void AssembleSwap(InstructionOperand* source, in AssembleSwap()
[all …]
/external/v8/src/compiler/arm/
Dinstruction-selector-arm.cc100 InstructionOperand* value_return, in TryMatchShift()
101 InstructionOperand* shift_return) { in TryMatchShift()
122 InstructionOperand* value_return, in TryMatchShiftImmediate()
123 InstructionOperand* shift_return) { in TryMatchShiftImmediate()
138 Node* node, InstructionOperand* value_return, in TryMatchROR()
139 InstructionOperand* shift_return) { in TryMatchROR()
147 Node* node, InstructionOperand* value_return, in TryMatchASR()
148 InstructionOperand* shift_return) { in TryMatchASR()
156 Node* node, InstructionOperand* value_return, in TryMatchLSL()
157 InstructionOperand* shift_return) { in TryMatchLSL()
[all …]
/external/v8/src/compiler/ia32/
Dinstruction-selector-ia32.cc20 InstructionOperand UseByteRegister(Node* node) { in UseByteRegister()
25 InstructionOperand DefineAsByteRegister(Node* node) { in DefineAsByteRegister()
85 InstructionOperand inputs[], in GenerateMemoryOperandInputs()
143 InstructionOperand inputs[], in GetEffectiveAddressMemoryOperand()
182 InstructionOperand operand0 = g.UseRegister(node->InputAt(0)); in VisitRROFloat()
183 InstructionOperand operand1 = g.Use(node->InputAt(1)); in VisitRROFloat()
236 InstructionOperand outputs[1]; in VisitLoad()
238 InstructionOperand inputs[3]; in VisitLoad()
260 InstructionOperand inputs[3]; in VisitStore()
286 InstructionOperand temps[] = {g.TempRegister(), g.TempRegister()}; in VisitStore()
[all …]
/external/v8/src/compiler/x87/
Dinstruction-selector-x87.cc20 InstructionOperand UseByteRegister(Node* node) { in UseByteRegister()
25 InstructionOperand DefineAsByteRegister(Node* node) { in DefineAsByteRegister()
58 InstructionOperand CreateImmediate(int imm) { in CreateImmediate()
89 InstructionOperand inputs[], in GenerateMemoryOperandInputs()
147 InstructionOperand inputs[], in GetEffectiveAddressMemoryOperand()
197 InstructionOperand outputs[1]; in VisitLoad()
199 InstructionOperand inputs[3]; in VisitLoad()
221 InstructionOperand inputs[3]; in VisitStore()
247 InstructionOperand temps[] = {g.TempRegister(), g.TempRegister()}; in VisitStore()
280 InstructionOperand val; in VisitStore()
[all …]
/external/v8/src/compiler/x64/
Dinstruction-selector-x64.cc73 InstructionOperand inputs[], in GenerateMemoryOperandInputs()
122 InstructionOperand inputs[], in GetEffectiveAddressMemoryOperand()
174 InstructionOperand outputs[1]; in VisitLoad()
176 InstructionOperand inputs[3]; in VisitLoad()
198 InstructionOperand inputs[3]; in VisitStore()
224 InstructionOperand temps[] = {g.TempRegister(), g.TempRegister()}; in VisitStore()
258 InstructionOperand inputs[4]; in VisitStore()
264 InstructionOperand value_operand = in VisitStore()
267 Emit(code, 0, static_cast<InstructionOperand*>(nullptr), input_count, in VisitStore()
318 InstructionOperand length_operand = in VisitCheckedLoad()
[all …]
/external/v8/src/compiler/mips/
Dinstruction-selector-mips.cc27 InstructionOperand UseOperand(Node* node, InstructionCode opcode) { in UseOperand()
94 InstructionOperand inputs[4]; in VisitBinop()
96 InstructionOperand outputs[2]; in VisitBinop()
170 InstructionOperand addr_reg = g.TempRegister(); in VisitLoad()
193 InstructionOperand inputs[3]; in VisitStore()
213 InstructionOperand temps[] = {g.TempRegister(), g.TempRegister()}; in VisitStore()
249 InstructionOperand addr_reg = g.TempRegister(); in VisitStore()
404 InstructionOperand inputs[] = {g.UseUniqueRegister(node->InputAt(0)), in VisitInt32PairBinop()
409 InstructionOperand outputs[] = { in VisitInt32PairBinop()
432 InstructionOperand shift_operand; in VisitWord32PairShift()
[all …]
/external/v8/src/compiler/mips64/
Dinstruction-selector-mips64.cc27 InstructionOperand UseOperand(Node* node, InstructionCode opcode) { in UseOperand()
99 InstructionOperand inputs[4]; in VisitBinop()
101 InstructionOperand outputs[2]; in VisitBinop()
177 InstructionOperand addr_reg = g.TempRegister(); in VisitLoad()
200 InstructionOperand inputs[3]; in VisitStore()
220 InstructionOperand temps[] = {g.TempRegister(), g.TempRegister()}; in VisitStore()
258 InstructionOperand addr_reg = g.TempRegister(); in VisitStore()
706 InstructionOperand temp = g.TempRegister(); in VisitInt32Mul()
764 InstructionOperand temp = g.TempRegister(); in VisitInt64Mul()
981 InstructionOperand inputs[] = {g.UseRegister(node->InputAt(0))}; in VisitTryTruncateFloat32ToInt64()
[all …]
/external/v8/src/compiler/arm64/
Dinstruction-selector-arm64.cc33 InstructionOperand UseOperand(Node* node, ImmediateMode mode) { in UseOperand()
42 InstructionOperand UseRegisterOrImmediateZero(Node* node) { in UseRegisterOrImmediateZero()
53 InstructionOperand UseImmediateOrTemp(Node* node, int32_t value) { in UseImmediateOrTemp()
201 InstructionOperand* left_op, in TryMatchAnyExtend()
202 InstructionOperand* right_op, InstructionCode* opcode) { in TryMatchAnyExtend()
239 InstructionOperand* index_op, in TryMatchLoadStoreShift()
240 InstructionOperand* shift_immediate_op) { in TryMatchLoadStoreShift()
331 InstructionOperand inputs[5]; in VisitBinop()
333 InstructionOperand outputs[2]; in VisitBinop()
457 InstructionOperand inputs[3]; in VisitLoad()
[all …]

12