Searched refs:instruction (Results 1 - 25 of 291) sorted by relevance

1234567891011>>

/art/compiler/optimizing/
H A Dcode_generator_vector_arm.cc25 void LocationsBuilderARM::VisitVecReplicateScalar(HVecReplicateScalar* instruction) { argument
26 LOG(FATAL) << "No SIMD for " << instruction->GetId();
29 void InstructionCodeGeneratorARM::VisitVecReplicateScalar(HVecReplicateScalar* instruction) { argument
30 LOG(FATAL) << "No SIMD for " << instruction->GetId();
33 void LocationsBuilderARM::VisitVecSetScalars(HVecSetScalars* instruction) { argument
34 LOG(FATAL) << "No SIMD for " << instruction->GetId();
37 void InstructionCodeGeneratorARM::VisitVecSetScalars(HVecSetScalars* instruction) { argument
38 LOG(FATAL) << "No SIMD for " << instruction->GetId();
41 void LocationsBuilderARM::VisitVecSumReduce(HVecSumReduce* instruction) { argument
42 LOG(FATAL) << "No SIMD for " << instruction
45 VisitVecSumReduce(HVecSumReduce* instruction) argument
50 CreateVecUnOpLocations(ArenaAllocator* arena, HVecUnaryOperation* instruction) argument
68 VisitVecCnv(HVecCnv* instruction) argument
72 VisitVecCnv(HVecCnv* instruction) argument
76 VisitVecNeg(HVecNeg* instruction) argument
80 VisitVecNeg(HVecNeg* instruction) argument
84 VisitVecAbs(HVecAbs* instruction) argument
88 VisitVecAbs(HVecAbs* instruction) argument
92 VisitVecNot(HVecNot* instruction) argument
96 VisitVecNot(HVecNot* instruction) argument
101 CreateVecBinOpLocations(ArenaAllocator* arena, HVecBinaryOperation* instruction) argument
119 VisitVecAdd(HVecAdd* instruction) argument
123 VisitVecAdd(HVecAdd* instruction) argument
127 VisitVecHalvingAdd(HVecHalvingAdd* instruction) argument
131 VisitVecHalvingAdd(HVecHalvingAdd* instruction) argument
135 VisitVecSub(HVecSub* instruction) argument
139 VisitVecSub(HVecSub* instruction) argument
143 VisitVecMul(HVecMul* instruction) argument
147 VisitVecMul(HVecMul* instruction) argument
151 VisitVecDiv(HVecDiv* instruction) argument
155 VisitVecDiv(HVecDiv* instruction) argument
159 VisitVecMin(HVecMin* instruction) argument
163 VisitVecMin(HVecMin* instruction) argument
167 VisitVecMax(HVecMax* instruction) argument
171 VisitVecMax(HVecMax* instruction) argument
175 VisitVecAnd(HVecAnd* instruction) argument
179 VisitVecAnd(HVecAnd* instruction) argument
183 VisitVecAndNot(HVecAndNot* instruction) argument
187 VisitVecAndNot(HVecAndNot* instruction) argument
191 VisitVecOr(HVecOr* instruction) argument
195 VisitVecOr(HVecOr* instruction) argument
199 VisitVecXor(HVecXor* instruction) argument
203 VisitVecXor(HVecXor* instruction) argument
208 CreateVecShiftLocations(ArenaAllocator* arena, HVecBinaryOperation* instruction) argument
224 VisitVecShl(HVecShl* instruction) argument
228 VisitVecShl(HVecShl* instruction) argument
232 VisitVecShr(HVecShr* instruction) argument
236 VisitVecShr(HVecShr* instruction) argument
240 VisitVecUShr(HVecUShr* instruction) argument
244 VisitVecUShr(HVecUShr* instruction) argument
256 VisitVecLoad(HVecLoad* instruction) argument
260 VisitVecLoad(HVecLoad* instruction) argument
264 VisitVecStore(HVecStore* instruction) argument
268 VisitVecStore(HVecStore* instruction) argument
[all...]
H A Dcode_generator_vector_arm_vixl.cc25 void LocationsBuilderARMVIXL::VisitVecReplicateScalar(HVecReplicateScalar* instruction) { argument
26 LOG(FATAL) << "No SIMD for " << instruction->GetId();
29 void InstructionCodeGeneratorARMVIXL::VisitVecReplicateScalar(HVecReplicateScalar* instruction) { argument
30 LOG(FATAL) << "No SIMD for " << instruction->GetId();
33 void LocationsBuilderARMVIXL::VisitVecSetScalars(HVecSetScalars* instruction) { argument
34 LOG(FATAL) << "No SIMD for " << instruction->GetId();
37 void InstructionCodeGeneratorARMVIXL::VisitVecSetScalars(HVecSetScalars* instruction) { argument
38 LOG(FATAL) << "No SIMD for " << instruction->GetId();
41 void LocationsBuilderARMVIXL::VisitVecSumReduce(HVecSumReduce* instruction) { argument
42 LOG(FATAL) << "No SIMD for " << instruction
45 VisitVecSumReduce(HVecSumReduce* instruction) argument
50 CreateVecUnOpLocations(ArenaAllocator* arena, HVecUnaryOperation* instruction) argument
68 VisitVecCnv(HVecCnv* instruction) argument
72 VisitVecCnv(HVecCnv* instruction) argument
76 VisitVecNeg(HVecNeg* instruction) argument
80 VisitVecNeg(HVecNeg* instruction) argument
84 VisitVecAbs(HVecAbs* instruction) argument
88 VisitVecAbs(HVecAbs* instruction) argument
92 VisitVecNot(HVecNot* instruction) argument
96 VisitVecNot(HVecNot* instruction) argument
101 CreateVecBinOpLocations(ArenaAllocator* arena, HVecBinaryOperation* instruction) argument
119 VisitVecAdd(HVecAdd* instruction) argument
123 VisitVecAdd(HVecAdd* instruction) argument
127 VisitVecHalvingAdd(HVecHalvingAdd* instruction) argument
131 VisitVecHalvingAdd(HVecHalvingAdd* instruction) argument
135 VisitVecSub(HVecSub* instruction) argument
139 VisitVecSub(HVecSub* instruction) argument
143 VisitVecMul(HVecMul* instruction) argument
147 VisitVecMul(HVecMul* instruction) argument
151 VisitVecDiv(HVecDiv* instruction) argument
155 VisitVecDiv(HVecDiv* instruction) argument
159 VisitVecMin(HVecMin* instruction) argument
163 VisitVecMin(HVecMin* instruction) argument
167 VisitVecMax(HVecMax* instruction) argument
171 VisitVecMax(HVecMax* instruction) argument
175 VisitVecAnd(HVecAnd* instruction) argument
179 VisitVecAnd(HVecAnd* instruction) argument
183 VisitVecAndNot(HVecAndNot* instruction) argument
187 VisitVecAndNot(HVecAndNot* instruction) argument
191 VisitVecOr(HVecOr* instruction) argument
195 VisitVecOr(HVecOr* instruction) argument
199 VisitVecXor(HVecXor* instruction) argument
203 VisitVecXor(HVecXor* instruction) argument
208 CreateVecShiftLocations(ArenaAllocator* arena, HVecBinaryOperation* instruction) argument
224 VisitVecShl(HVecShl* instruction) argument
228 VisitVecShl(HVecShl* instruction) argument
232 VisitVecShr(HVecShr* instruction) argument
236 VisitVecShr(HVecShr* instruction) argument
240 VisitVecUShr(HVecUShr* instruction) argument
244 VisitVecUShr(HVecUShr* instruction) argument
256 VisitVecLoad(HVecLoad* instruction) argument
260 VisitVecLoad(HVecLoad* instruction) argument
264 VisitVecStore(HVecStore* instruction) argument
268 VisitVecStore(HVecStore* instruction) argument
[all...]
H A Dcode_generator_vector_mips.cc25 void LocationsBuilderMIPS::VisitVecReplicateScalar(HVecReplicateScalar* instruction) { argument
26 LOG(FATAL) << "No SIMD for " << instruction->GetId();
29 void InstructionCodeGeneratorMIPS::VisitVecReplicateScalar(HVecReplicateScalar* instruction) { argument
30 LOG(FATAL) << "No SIMD for " << instruction->GetId();
33 void LocationsBuilderMIPS::VisitVecSetScalars(HVecSetScalars* instruction) { argument
34 LOG(FATAL) << "No SIMD for " << instruction->GetId();
37 void InstructionCodeGeneratorMIPS::VisitVecSetScalars(HVecSetScalars* instruction) { argument
38 LOG(FATAL) << "No SIMD for " << instruction->GetId();
41 void LocationsBuilderMIPS::VisitVecSumReduce(HVecSumReduce* instruction) { argument
42 LOG(FATAL) << "No SIMD for " << instruction
45 VisitVecSumReduce(HVecSumReduce* instruction) argument
50 CreateVecUnOpLocations(ArenaAllocator* arena, HVecUnaryOperation* instruction) argument
68 VisitVecCnv(HVecCnv* instruction) argument
72 VisitVecCnv(HVecCnv* instruction) argument
76 VisitVecNeg(HVecNeg* instruction) argument
80 VisitVecNeg(HVecNeg* instruction) argument
84 VisitVecAbs(HVecAbs* instruction) argument
88 VisitVecAbs(HVecAbs* instruction) argument
92 VisitVecNot(HVecNot* instruction) argument
96 VisitVecNot(HVecNot* instruction) argument
101 CreateVecBinOpLocations(ArenaAllocator* arena, HVecBinaryOperation* instruction) argument
119 VisitVecAdd(HVecAdd* instruction) argument
123 VisitVecAdd(HVecAdd* instruction) argument
127 VisitVecHalvingAdd(HVecHalvingAdd* instruction) argument
131 VisitVecHalvingAdd(HVecHalvingAdd* instruction) argument
135 VisitVecSub(HVecSub* instruction) argument
139 VisitVecSub(HVecSub* instruction) argument
143 VisitVecMul(HVecMul* instruction) argument
147 VisitVecMul(HVecMul* instruction) argument
151 VisitVecDiv(HVecDiv* instruction) argument
155 VisitVecDiv(HVecDiv* instruction) argument
159 VisitVecMin(HVecMin* instruction) argument
163 VisitVecMin(HVecMin* instruction) argument
167 VisitVecMax(HVecMax* instruction) argument
171 VisitVecMax(HVecMax* instruction) argument
175 VisitVecAnd(HVecAnd* instruction) argument
179 VisitVecAnd(HVecAnd* instruction) argument
183 VisitVecAndNot(HVecAndNot* instruction) argument
187 VisitVecAndNot(HVecAndNot* instruction) argument
191 VisitVecOr(HVecOr* instruction) argument
195 VisitVecOr(HVecOr* instruction) argument
199 VisitVecXor(HVecXor* instruction) argument
203 VisitVecXor(HVecXor* instruction) argument
208 CreateVecShiftLocations(ArenaAllocator* arena, HVecBinaryOperation* instruction) argument
224 VisitVecShl(HVecShl* instruction) argument
228 VisitVecShl(HVecShl* instruction) argument
232 VisitVecShr(HVecShr* instruction) argument
236 VisitVecShr(HVecShr* instruction) argument
240 VisitVecUShr(HVecUShr* instruction) argument
244 VisitVecUShr(HVecUShr* instruction) argument
256 VisitVecLoad(HVecLoad* instruction) argument
260 VisitVecLoad(HVecLoad* instruction) argument
264 VisitVecStore(HVecStore* instruction) argument
268 VisitVecStore(HVecStore* instruction) argument
[all...]
H A Dcode_generator_vector_mips64.cc25 void LocationsBuilderMIPS64::VisitVecReplicateScalar(HVecReplicateScalar* instruction) { argument
26 LOG(FATAL) << "No SIMD for " << instruction->GetId();
29 void InstructionCodeGeneratorMIPS64::VisitVecReplicateScalar(HVecReplicateScalar* instruction) { argument
30 LOG(FATAL) << "No SIMD for " << instruction->GetId();
33 void LocationsBuilderMIPS64::VisitVecSetScalars(HVecSetScalars* instruction) { argument
34 LOG(FATAL) << "No SIMD for " << instruction->GetId();
37 void InstructionCodeGeneratorMIPS64::VisitVecSetScalars(HVecSetScalars* instruction) { argument
38 LOG(FATAL) << "No SIMD for " << instruction->GetId();
41 void LocationsBuilderMIPS64::VisitVecSumReduce(HVecSumReduce* instruction) { argument
42 LOG(FATAL) << "No SIMD for " << instruction
45 VisitVecSumReduce(HVecSumReduce* instruction) argument
50 CreateVecUnOpLocations(ArenaAllocator* arena, HVecUnaryOperation* instruction) argument
68 VisitVecCnv(HVecCnv* instruction) argument
72 VisitVecCnv(HVecCnv* instruction) argument
76 VisitVecNeg(HVecNeg* instruction) argument
80 VisitVecNeg(HVecNeg* instruction) argument
84 VisitVecAbs(HVecAbs* instruction) argument
88 VisitVecAbs(HVecAbs* instruction) argument
92 VisitVecNot(HVecNot* instruction) argument
96 VisitVecNot(HVecNot* instruction) argument
101 CreateVecBinOpLocations(ArenaAllocator* arena, HVecBinaryOperation* instruction) argument
119 VisitVecAdd(HVecAdd* instruction) argument
123 VisitVecAdd(HVecAdd* instruction) argument
127 VisitVecHalvingAdd(HVecHalvingAdd* instruction) argument
131 VisitVecHalvingAdd(HVecHalvingAdd* instruction) argument
135 VisitVecSub(HVecSub* instruction) argument
139 VisitVecSub(HVecSub* instruction) argument
143 VisitVecMul(HVecMul* instruction) argument
147 VisitVecMul(HVecMul* instruction) argument
151 VisitVecDiv(HVecDiv* instruction) argument
155 VisitVecDiv(HVecDiv* instruction) argument
159 VisitVecMin(HVecMin* instruction) argument
163 VisitVecMin(HVecMin* instruction) argument
167 VisitVecMax(HVecMax* instruction) argument
171 VisitVecMax(HVecMax* instruction) argument
175 VisitVecAnd(HVecAnd* instruction) argument
179 VisitVecAnd(HVecAnd* instruction) argument
183 VisitVecAndNot(HVecAndNot* instruction) argument
187 VisitVecAndNot(HVecAndNot* instruction) argument
191 VisitVecOr(HVecOr* instruction) argument
195 VisitVecOr(HVecOr* instruction) argument
199 VisitVecXor(HVecXor* instruction) argument
203 VisitVecXor(HVecXor* instruction) argument
208 CreateVecShiftLocations(ArenaAllocator* arena, HVecBinaryOperation* instruction) argument
224 VisitVecShl(HVecShl* instruction) argument
228 VisitVecShl(HVecShl* instruction) argument
232 VisitVecShr(HVecShr* instruction) argument
236 VisitVecShr(HVecShr* instruction) argument
240 VisitVecUShr(HVecUShr* instruction) argument
244 VisitVecUShr(HVecUShr* instruction) argument
256 VisitVecLoad(HVecLoad* instruction) argument
260 VisitVecLoad(HVecLoad* instruction) argument
264 VisitVecStore(HVecStore* instruction) argument
268 VisitVecStore(HVecStore* instruction) argument
[all...]
H A Dconstant_folding.cc50 void VisitEqual(HEqual* instruction) OVERRIDE;
51 void VisitNotEqual(HNotEqual* instruction) OVERRIDE;
53 void VisitAbove(HAbove* instruction) OVERRIDE;
54 void VisitAboveOrEqual(HAboveOrEqual* instruction) OVERRIDE;
55 void VisitBelow(HBelow* instruction) OVERRIDE;
56 void VisitBelowOrEqual(HBelowOrEqual* instruction) OVERRIDE;
58 void VisitAnd(HAnd* instruction) OVERRIDE;
59 void VisitCompare(HCompare* instruction) OVERRIDE;
60 void VisitMul(HMul* instruction) OVERRIDE;
61 void VisitOr(HOr* instruction) OVERRID
133 VisitShift(HBinaryOperation* instruction) argument
146 VisitEqual(HEqual* instruction) argument
158 VisitNotEqual(HNotEqual* instruction) argument
170 VisitAbove(HAbove* instruction) argument
182 VisitAboveOrEqual(HAboveOrEqual* instruction) argument
194 VisitBelow(HBelow* instruction) argument
206 VisitBelowOrEqual(HBelowOrEqual* instruction) argument
218 VisitAnd(HAnd* instruction) argument
230 VisitCompare(HCompare* instruction) argument
250 VisitMul(HMul* instruction) argument
267 VisitOr(HOr* instruction) argument
284 VisitRem(HRem* instruction) argument
320 VisitShl(HShl* instruction) argument
324 VisitShr(HShr* instruction) argument
328 VisitSub(HSub* instruction) argument
353 VisitUShr(HUShr* instruction) argument
357 VisitXor(HXor* instruction) argument
[all...]
H A Dscheduler.cc32 // A `nullptr` node indicates an instruction out of scheduling range (eg. in
93 void SchedulingGraph::AddDependencies(HInstruction* instruction, bool is_scheduling_barrier) { argument
94 SchedulingNode* instruction_node = GetNode(instruction);
97 for (const HUseListNode<HInstruction*>& use : instruction->GetUses()) {
106 for (HInstruction* other = instruction->GetNext(); other != nullptr; other = other->GetNext()) {
139 if (!instruction->GetSideEffects().DoesNothing() || instruction->CanThrow()) {
140 for (HInstruction* other = instruction->GetNext(); other != nullptr; other = other->GetNext()) {
148 if (HasSideEffectDependency(other, instruction)) {
155 // We do not need to process those if the instruction i
173 HasImmediateDataDependency(const HInstruction* instruction, const HInstruction* other_instruction) const argument
192 HasImmediateOtherDependency(const HInstruction* instruction, const HInstruction* other_instruction) const argument
206 InstructionTypeId(const HInstruction* instruction) argument
223 const HInstruction* instruction = node->GetInstruction(); local
271 const HInstruction* instruction = node->GetInstruction(); local
296 const HInstruction* instruction = prev_select_->GetInstruction(); local
374 HInstruction* instruction = it.Current(); local
444 MoveAfterInBlock(HInstruction* instruction, HInstruction* cursor) argument
452 Schedule(HInstruction* instruction) argument
[all...]
H A Dinstruction_simplifier_arm64.cc103 // Merge a bitfield move instruction into its uses if it can be merged in all of them.
113 // Check whether we can merge the instruction in all its users' shifter operand.
124 // Merge the instruction into its uses.
136 void InstructionSimplifierArm64Visitor::VisitAnd(HAnd* instruction) { argument
137 if (TryMergeNegatedInput(instruction)) {
142 void InstructionSimplifierArm64Visitor::VisitArrayGet(HArrayGet* instruction) { argument
143 size_t data_offset = CodeGenerator::GetArrayDataOffset(instruction);
144 if (TryExtractArrayAccessAddress(instruction,
145 instruction->GetArray(),
146 instruction
152 VisitArraySet(HArraySet* instruction) argument
163 VisitMul(HMul* instruction) argument
169 VisitOr(HOr* instruction) argument
175 VisitShl(HShl* instruction) argument
181 VisitShr(HShr* instruction) argument
187 VisitTypeConversion(HTypeConversion* instruction) argument
201 VisitUShr(HUShr* instruction) argument
207 VisitXor(HXor* instruction) argument
213 VisitVecMul(HVecMul* instruction) argument
[all...]
H A Dinstruction_simplifier_arm.cc106 // Merge a bitfield move instruction into its uses if it can be merged in all of them.
116 // Check whether we can merge the instruction in all its users' shifter operand.
127 // Merge the instruction into its uses.
139 void InstructionSimplifierArmVisitor::VisitAnd(HAnd* instruction) { argument
140 if (TryMergeNegatedInput(instruction)) {
145 void InstructionSimplifierArmVisitor::VisitArrayGet(HArrayGet* instruction) { argument
146 size_t data_offset = CodeGenerator::GetArrayDataOffset(instruction);
147 Primitive::Type type = instruction->GetType();
153 if (mirror::kUseStringCompression && instruction->IsStringCharAt()) {
165 if (TryExtractArrayAccessAddress(instruction,
173 VisitArraySet(HArraySet* instruction) argument
194 VisitMul(HMul* instruction) argument
200 VisitOr(HOr* instruction) argument
206 VisitShl(HShl* instruction) argument
212 VisitShr(HShr* instruction) argument
218 VisitTypeConversion(HTypeConversion* instruction) argument
232 VisitUShr(HUShr* instruction) argument
[all...]
H A Dinstruction_simplifier_arm64.h38 bool TryMergeIntoUsersShifterOperand(HInstruction* instruction);
59 HInstruction* instruction = it.Current(); variable
60 if (instruction->IsInBlock()) {
61 instruction->Accept(this);
67 void VisitAnd(HAnd* instruction) OVERRIDE;
68 void VisitArrayGet(HArrayGet* instruction) OVERRIDE;
69 void VisitArraySet(HArraySet* instruction) OVERRIDE;
70 void VisitMul(HMul* instruction) OVERRIDE;
71 void VisitOr(HOr* instruction) OVERRIDE;
72 void VisitShl(HShl* instruction) OVERRID
[all...]
H A Dcode_sinking.cc39 static bool IsInterestingInstruction(HInstruction* instruction) { argument
41 if (instruction->GetBlock() == instruction->GetBlock()->GetGraph()->GetEntryBlock()) {
48 if (instruction->IsInstanceFieldSet()) {
49 if (instruction->AsInstanceFieldSet()->IsVolatile()) {
55 if (instruction->IsNewInstance() || instruction->IsNewArray()) {
60 if (instruction->CanThrow()) {
68 if (instruction->IsInstanceFieldSet()) {
69 if (!instruction
99 AddInstruction(HInstruction* instruction, const ArenaBitVector& processed_instructions, const ArenaBitVector& discard_blocks, ArenaVector<HInstruction*>* worklist) argument
112 AddInputs(HInstruction* instruction, const ArenaBitVector& processed_instructions, const ArenaBitVector& discard_blocks, ArenaVector<HInstruction*>* worklist) argument
133 ShouldFilterUse(HInstruction* instruction, HInstruction* user, const ArenaBitVector& post_dominated) argument
154 FindIdealPosition(HInstruction* instruction, const ArenaBitVector& post_dominated, bool filter = false) argument
285 HInstruction* instruction = worklist.back(); local
[all...]
H A Dlocations.cc29 LocationSummary::LocationSummary(HInstruction* instruction, argument
32 : inputs_(instruction->InputCount(),
33 instruction->GetBlock()->GetGraph()->GetArena()->Adapter(kArenaAllocLocationSummary)),
34 temps_(instruction->GetBlock()->GetGraph()->GetArena()->Adapter(kArenaAllocLocationSummary)),
43 instruction->SetLocations(this);
46 ArenaAllocator* arena = instruction->GetBlock()->GetGraph()->GetArena();
52 Location Location::RegisterOrConstant(HInstruction* instruction) { argument
53 return instruction->IsConstant()
54 ? Location::ConstantLocation(instruction->AsConstant())
58 Location Location::RegisterOrInt32Constant(HInstruction* instruction) { argument
69 FpuRegisterOrInt32Constant(HInstruction* instruction) argument
80 ByteRegisterOrConstant(int reg, HInstruction* instruction) argument
86 FpuRegisterOrConstant(HInstruction* instruction) argument
[all...]
H A Dcode_generator_vector_x86.cc26 void LocationsBuilderX86::VisitVecReplicateScalar(HVecReplicateScalar* instruction) { argument
27 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
28 switch (instruction->GetPackedType()) {
52 void InstructionCodeGeneratorX86::VisitVecReplicateScalar(HVecReplicateScalar* instruction) { argument
53 LocationSummary* locations = instruction->GetLocations();
55 switch (instruction->GetPackedType()) {
58 DCHECK_EQ(16u, instruction->GetVectorLength());
66 DCHECK_EQ(8u, instruction->GetVectorLength());
72 DCHECK_EQ(4u, instruction->GetVectorLength());
78 DCHECK_EQ(2u, instruction
101 VisitVecSetScalars(HVecSetScalars* instruction) argument
105 VisitVecSetScalars(HVecSetScalars* instruction) argument
109 VisitVecSumReduce(HVecSumReduce* instruction) argument
113 VisitVecSumReduce(HVecSumReduce* instruction) argument
118 CreateVecUnOpLocations(ArenaAllocator* arena, HVecUnaryOperation* instruction) argument
138 VisitVecCnv(HVecCnv* instruction) argument
142 VisitVecCnv(HVecCnv* instruction) argument
156 VisitVecNeg(HVecNeg* instruction) argument
160 VisitVecNeg(HVecNeg* instruction) argument
202 VisitVecAbs(HVecAbs* instruction) argument
209 VisitVecAbs(HVecAbs* instruction) argument
242 VisitVecNot(HVecNot* instruction) argument
250 VisitVecNot(HVecNot* instruction) argument
291 CreateVecBinOpLocations(ArenaAllocator* arena, HVecBinaryOperation* instruction) argument
312 VisitVecAdd(HVecAdd* instruction) argument
316 VisitVecAdd(HVecAdd* instruction) argument
353 VisitVecHalvingAdd(HVecHalvingAdd* instruction) argument
357 VisitVecHalvingAdd(HVecHalvingAdd* instruction) argument
382 VisitVecSub(HVecSub* instruction) argument
386 VisitVecSub(HVecSub* instruction) argument
423 VisitVecMul(HVecMul* instruction) argument
427 VisitVecMul(HVecMul* instruction) argument
456 VisitVecDiv(HVecDiv* instruction) argument
460 VisitVecDiv(HVecDiv* instruction) argument
480 VisitVecMin(HVecMin* instruction) argument
484 VisitVecMin(HVecMin* instruction) argument
488 VisitVecMax(HVecMax* instruction) argument
492 VisitVecMax(HVecMax* instruction) argument
496 VisitVecAnd(HVecAnd* instruction) argument
500 VisitVecAnd(HVecAnd* instruction) argument
530 VisitVecAndNot(HVecAndNot* instruction) argument
534 VisitVecAndNot(HVecAndNot* instruction) argument
564 VisitVecOr(HVecOr* instruction) argument
568 VisitVecOr(HVecOr* instruction) argument
598 VisitVecXor(HVecXor* instruction) argument
602 VisitVecXor(HVecXor* instruction) argument
633 CreateVecShiftLocations(ArenaAllocator* arena, HVecBinaryOperation* instruction) argument
650 VisitVecShl(HVecShl* instruction) argument
654 VisitVecShl(HVecShl* instruction) argument
679 VisitVecShr(HVecShr* instruction) argument
683 VisitVecShr(HVecShr* instruction) argument
704 VisitVecUShr(HVecUShr* instruction) argument
708 VisitVecUShr(HVecUShr* instruction) argument
742 CreateVecMemLocations(ArenaAllocator* arena, HVecMemoryOperation* instruction, bool is_load) argument
770 CreateVecMemRegisters(HVecMemoryOperation* instruction, Location* reg_loc, bool is_load) argument
789 VisitVecLoad(HVecLoad* instruction) argument
793 VisitVecLoad(HVecLoad* instruction) argument
823 VisitVecStore(HVecStore* instruction) argument
827 VisitVecStore(HVecStore* instruction) argument
[all...]
H A Dcode_generator_vector_x86_64.cc26 void LocationsBuilderX86_64::VisitVecReplicateScalar(HVecReplicateScalar* instruction) { argument
27 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
28 switch (instruction->GetPackedType()) {
49 void InstructionCodeGeneratorX86_64::VisitVecReplicateScalar(HVecReplicateScalar* instruction) { argument
50 LocationSummary* locations = instruction->GetLocations();
52 switch (instruction->GetPackedType()) {
55 DCHECK_EQ(16u, instruction->GetVectorLength());
63 DCHECK_EQ(8u, instruction->GetVectorLength());
69 DCHECK_EQ(4u, instruction->GetVectorLength());
74 DCHECK_EQ(2u, instruction
94 VisitVecSetScalars(HVecSetScalars* instruction) argument
98 VisitVecSetScalars(HVecSetScalars* instruction) argument
102 VisitVecSumReduce(HVecSumReduce* instruction) argument
106 VisitVecSumReduce(HVecSumReduce* instruction) argument
111 CreateVecUnOpLocations(ArenaAllocator* arena, HVecUnaryOperation* instruction) argument
131 VisitVecCnv(HVecCnv* instruction) argument
135 VisitVecCnv(HVecCnv* instruction) argument
149 VisitVecNeg(HVecNeg* instruction) argument
153 VisitVecNeg(HVecNeg* instruction) argument
195 VisitVecAbs(HVecAbs* instruction) argument
202 VisitVecAbs(HVecAbs* instruction) argument
235 VisitVecNot(HVecNot* instruction) argument
243 VisitVecNot(HVecNot* instruction) argument
284 CreateVecBinOpLocations(ArenaAllocator* arena, HVecBinaryOperation* instruction) argument
305 VisitVecAdd(HVecAdd* instruction) argument
309 VisitVecAdd(HVecAdd* instruction) argument
346 VisitVecHalvingAdd(HVecHalvingAdd* instruction) argument
350 VisitVecHalvingAdd(HVecHalvingAdd* instruction) argument
371 VisitVecSub(HVecSub* instruction) argument
375 VisitVecSub(HVecSub* instruction) argument
412 VisitVecMul(HVecMul* instruction) argument
416 VisitVecMul(HVecMul* instruction) argument
445 VisitVecDiv(HVecDiv* instruction) argument
449 VisitVecDiv(HVecDiv* instruction) argument
469 VisitVecMin(HVecMin* instruction) argument
473 VisitVecMin(HVecMin* instruction) argument
477 VisitVecMax(HVecMax* instruction) argument
481 VisitVecMax(HVecMax* instruction) argument
485 VisitVecAnd(HVecAnd* instruction) argument
489 VisitVecAnd(HVecAnd* instruction) argument
519 VisitVecAndNot(HVecAndNot* instruction) argument
523 VisitVecAndNot(HVecAndNot* instruction) argument
553 VisitVecOr(HVecOr* instruction) argument
557 VisitVecOr(HVecOr* instruction) argument
587 VisitVecXor(HVecXor* instruction) argument
591 VisitVecXor(HVecXor* instruction) argument
622 CreateVecShiftLocations(ArenaAllocator* arena, HVecBinaryOperation* instruction) argument
639 VisitVecShl(HVecShl* instruction) argument
643 VisitVecShl(HVecShl* instruction) argument
668 VisitVecShr(HVecShr* instruction) argument
672 VisitVecShr(HVecShr* instruction) argument
693 VisitVecUShr(HVecUShr* instruction) argument
697 VisitVecUShr(HVecUShr* instruction) argument
731 CreateVecMemLocations(ArenaAllocator* arena, HVecMemoryOperation* instruction, bool is_load) argument
759 CreateVecMemRegisters(HVecMemoryOperation* instruction, Location* reg_loc, bool is_load) argument
778 VisitVecLoad(HVecLoad* instruction) argument
782 VisitVecLoad(HVecLoad* instruction) argument
812 VisitVecStore(HVecStore* instruction) argument
816 VisitVecStore(HVecStore* instruction) argument
[all...]
H A Dinstruction_simplifier_arm.h38 bool TryMergeIntoUsersShifterOperand(HInstruction* instruction);
57 HInstruction* instruction = it.Current(); variable
58 if (instruction->IsInBlock()) {
59 instruction->Accept(this);
64 void VisitAnd(HAnd* instruction) OVERRIDE;
65 void VisitArrayGet(HArrayGet* instruction) OVERRIDE;
66 void VisitArraySet(HArraySet* instruction) OVERRIDE;
67 void VisitMul(HMul* instruction) OVERRIDE;
68 void VisitOr(HOr* instruction) OVERRIDE;
69 void VisitShl(HShl* instruction) OVERRID
[all...]
H A Dcode_generator_vector_arm64.cc34 void LocationsBuilderARM64::VisitVecReplicateScalar(HVecReplicateScalar* instruction) { argument
35 LocationSummary* locations = new (GetGraph()->GetArena()) LocationSummary(instruction);
36 switch (instruction->GetPackedType()) {
57 void InstructionCodeGeneratorARM64::VisitVecReplicateScalar(HVecReplicateScalar* instruction) { argument
58 LocationSummary* locations = instruction->GetLocations();
60 switch (instruction->GetPackedType()) {
63 DCHECK_EQ(16u, instruction->GetVectorLength());
64 __ Dup(dst.V16B(), InputRegisterAt(instruction, 0));
68 DCHECK_EQ(8u, instruction->GetVectorLength());
69 __ Dup(dst.V8H(), InputRegisterAt(instruction,
93 VisitVecSetScalars(HVecSetScalars* instruction) argument
97 VisitVecSetScalars(HVecSetScalars* instruction) argument
101 VisitVecSumReduce(HVecSumReduce* instruction) argument
105 VisitVecSumReduce(HVecSumReduce* instruction) argument
110 CreateVecUnOpLocations(ArenaAllocator* arena, HVecUnaryOperation* instruction) argument
135 VisitVecCnv(HVecCnv* instruction) argument
139 VisitVecCnv(HVecCnv* instruction) argument
153 VisitVecNeg(HVecNeg* instruction) argument
157 VisitVecNeg(HVecNeg* instruction) argument
193 VisitVecAbs(HVecAbs* instruction) argument
197 VisitVecAbs(HVecAbs* instruction) argument
232 VisitVecNot(HVecNot* instruction) argument
236 VisitVecNot(HVecNot* instruction) argument
260 CreateVecBinOpLocations(ArenaAllocator* arena, HVecBinaryOperation* instruction) argument
281 VisitVecAdd(HVecAdd* instruction) argument
285 VisitVecAdd(HVecAdd* instruction) argument
322 VisitVecHalvingAdd(HVecHalvingAdd* instruction) argument
326 VisitVecHalvingAdd(HVecHalvingAdd* instruction) argument
363 VisitVecSub(HVecSub* instruction) argument
367 VisitVecSub(HVecSub* instruction) argument
404 VisitVecMul(HVecMul* instruction) argument
408 VisitVecMul(HVecMul* instruction) argument
441 VisitVecDiv(HVecDiv* instruction) argument
445 VisitVecDiv(HVecDiv* instruction) argument
465 VisitVecMin(HVecMin* instruction) argument
469 VisitVecMin(HVecMin* instruction) argument
473 VisitVecMax(HVecMax* instruction) argument
477 VisitVecMax(HVecMax* instruction) argument
481 VisitVecAnd(HVecAnd* instruction) argument
485 VisitVecAnd(HVecAnd* instruction) argument
507 VisitVecAndNot(HVecAndNot* instruction) argument
511 VisitVecAndNot(HVecAndNot* instruction) argument
515 VisitVecOr(HVecOr* instruction) argument
519 VisitVecOr(HVecOr* instruction) argument
541 VisitVecXor(HVecXor* instruction) argument
545 VisitVecXor(HVecXor* instruction) argument
568 CreateVecShiftLocations(ArenaAllocator* arena, HVecBinaryOperation* instruction) argument
586 VisitVecShl(HVecShl* instruction) argument
590 VisitVecShl(HVecShl* instruction) argument
619 VisitVecShr(HVecShr* instruction) argument
623 VisitVecShr(HVecShr* instruction) argument
652 VisitVecUShr(HVecUShr* instruction) argument
656 VisitVecUShr(HVecUShr* instruction) argument
747 CreateVecMemLocations(ArenaAllocator* arena, HVecMemoryOperation* instruction, bool is_load) argument
775 CreateVecMemRegisters( HVecMemoryOperation* instruction, Location* reg_loc, bool is_load, UseScratchRegisterScope* temps_scope) argument
803 VisitVecLoad(HVecLoad* instruction) argument
807 VisitVecLoad(HVecLoad* instruction) argument
832 VisitVecStore(HVecStore* instruction) argument
836 VisitVecStore(HVecStore* instruction) argument
[all...]
H A Dinstruction_simplifier_shared.h26 inline bool CanFitInShifterOperand(HInstruction* instruction) { argument
27 if (instruction->IsTypeConversion()) {
28 HTypeConversion* conversion = instruction->AsTypeConversion();
35 return (instruction->IsShl() && instruction->AsShl()->InputAt(1)->IsIntConstant()) ||
36 (instruction->IsShr() && instruction->AsShr()->InputAt(1)->IsIntConstant()) ||
37 (instruction->IsUShr() && instruction->AsUShr()->InputAt(1)->IsIntConstant());
53 // a negated bitwise instruction
[all...]
H A Dnodes_shared.cc24 void HDataProcWithShifterOp::GetOpInfoFromInstruction(HInstruction* instruction, argument
27 DCHECK(CanFitInShifterOperand(instruction));
28 if (instruction->IsShl()) {
30 *shift_amount = instruction->AsShl()->GetRight()->AsIntConstant()->GetValue();
31 } else if (instruction->IsShr()) {
33 *shift_amount = instruction->AsShr()->GetRight()->AsIntConstant()->GetValue();
34 } else if (instruction->IsUShr()) {
36 *shift_amount = instruction->AsUShr()->GetRight()->AsIntConstant()->GetValue();
38 DCHECK(instruction->IsTypeConversion());
39 Primitive::Type result_type = instruction
[all...]
H A Dinstruction_simplifier.cc54 bool TryReplaceWithRotate(HBinaryOperation* instruction);
64 bool TryHandleAssociativeAndCommutativeOperation(HBinaryOperation* instruction);
65 bool TrySubtractionChainSimplification(HBinaryOperation* instruction);
75 void VisitTypeConversion(HTypeConversion* instruction) OVERRIDE;
76 void VisitNullCheck(HNullCheck* instruction) OVERRIDE;
77 void VisitArrayLength(HArrayLength* instruction) OVERRIDE;
78 void VisitCheckCast(HCheckCast* instruction) OVERRIDE;
79 void VisitAdd(HAdd* instruction) OVERRIDE;
80 void VisitAnd(HAnd* instruction) OVERRIDE;
81 void VisitCondition(HCondition* instruction) OVERRID
249 VisitShift(HBinaryOperation* instruction) argument
529 VisitInstanceOf(HInstanceOf* instruction) argument
577 VisitInstanceFieldSet(HInstanceFieldSet* instruction) argument
584 VisitStaticFieldSet(HStaticFieldSet* instruction) argument
772 VisitIf(HIf* instruction) argument
782 VisitArrayLength(HArrayLength* instruction) argument
794 VisitArraySet(HArraySet* instruction) argument
865 VisitTypeConversion(HTypeConversion* instruction) argument
943 VisitAdd(HAdd* instruction) argument
1028 VisitAnd(HAnd* instruction) argument
1266 VisitDiv(HDiv* instruction) argument
1321 VisitMul(HMul* instruction) argument
1430 VisitNeg(HNeg* instruction) argument
1475 VisitNot(HNot* instruction) argument
1496 VisitOr(HOr* instruction) argument
1536 VisitShl(HShl* instruction) argument
1540 VisitShr(HShr* instruction) argument
1544 VisitSub(HSub* instruction) argument
1655 VisitUShr(HUShr* instruction) argument
1659 VisitXor(HXor* instruction) argument
1726 SimplifyStringEquals(HInvoke* instruction) argument
1790 SimplifySystemArrayCopy(HInvoke* instruction) argument
2059 VisitInvoke(HInvoke* instruction) argument
2153 TryHandleAssociativeAndCommutativeOperation( HBinaryOperation* instruction) argument
2230 TrySubtractionChainSimplification( HBinaryOperation* instruction) argument
[all...]
H A Dlicm.cc23 static bool IsPhiOf(HInstruction* instruction, HBasicBlock* block) { argument
24 return instruction->IsPhi() && instruction->GetBlock() == block;
28 * Returns whether `instruction` has all its inputs and environment defined
31 static bool InputsAreDefinedBeforeLoop(HInstruction* instruction) { argument
32 DCHECK(instruction->IsInLoop());
33 HLoopInformation* info = instruction->GetBlock()->GetLoopInformation();
34 for (const HInstruction* input : instruction->GetInputs()) {
43 for (HEnvironment* environment = instruction->GetEnvironment();
51 // We can move an instruction tha
131 HInstruction* instruction = inst_it.Current(); local
[all...]
H A Dload_store_elimination.cc66 // used as an environment local of an HDeoptimize instruction.
73 // used as an environment local of an HDeoptimize instruction.
354 ReferenceInfo* GetOrCreateReferenceInfo(HInstruction* instruction) { argument
355 ReferenceInfo* ref_info = FindReferenceInfoOf(instruction);
358 ref_info = new (GetGraph()->GetArena()) ReferenceInfo(instruction, pos);
364 void CreateReferenceInfoForReferenceType(HInstruction* instruction) { argument
365 if (instruction->GetType() != Primitive::kPrimNot) {
368 DCHECK(FindReferenceInfoOf(instruction) == nullptr);
369 GetOrCreateReferenceInfo(instruction);
403 void VisitInstanceFieldGet(HInstanceFieldGet* instruction) OVERRID
405 CreateReferenceInfoForReferenceType(instruction); variable
436 CreateReferenceInfoForReferenceType(instruction); variable
449 CreateReferenceInfoForReferenceType(instruction); variable
463 CreateReferenceInfoForReferenceType(instruction); variable
467 CreateReferenceInfoForReferenceType(instruction); variable
471 CreateReferenceInfoForReferenceType(instruction); variable
475 CreateReferenceInfoForReferenceType(instruction); variable
479 CreateReferenceInfoForReferenceType(instruction); variable
722 TryRemovingNullCheck(HInstruction* instruction) argument
752 VisitGetLocation(HInstruction* instruction, HInstruction* ref, size_t offset, HInstruction* index, int16_t declaring_class_def_index) argument
818 VisitSetLocation(HInstruction* instruction, HInstruction* ref, size_t offset, HInstruction* index, int16_t declaring_class_def_index, HInstruction* value) argument
955 VisitDeoptimize(HDeoptimize* instruction) argument
1021 HandleInvoke(instruction); variable
1026 HandleInvoke(instruction); variable
1031 HandleInvoke(instruction); variable
1036 HandleInvoke(instruction); variable
1086 FindSubstitute(HInstruction* instruction) argument
[all...]
H A Dgraph_checker.h50 void VisitInstruction(HInstruction* instruction) OVERRIDE;
54 void VisitBooleanNot(HBooleanNot* instruction) OVERRIDE;
55 void VisitBoundType(HBoundType* instruction) OVERRIDE;
59 void VisitConstant(HConstant* instruction) OVERRIDE;
60 void VisitDeoptimize(HDeoptimize* instruction) OVERRIDE;
61 void VisitIf(HIf* instruction) OVERRIDE;
65 void VisitNeg(HNeg* instruction) OVERRIDE;
66 void VisitPackedSwitch(HPackedSwitch* instruction) OVERRIDE;
69 void VisitSelect(HSelect* instruction) OVERRIDE;
71 void VisitTypeConversion(HTypeConversion* instruction) OVERRID
[all...]
H A Dgraph_checker.cc32 static bool IsAllowedToJumpToExitBlock(HInstruction* instruction) { argument
33 return instruction->IsThrow() || instruction->IsReturn() || instruction->IsReturnVoid();
96 // Ensure `block` ends with a branch instruction.
99 // instruction. Such code is removed during the SSA-building DCE phase.
101 AddError(StringPrintf("Block %d does not end with a branch instruction.",
113 AddError(StringPrintf("Unexpected instruction %s:%d jumps into the exit block.",
146 AddError(StringPrintf("The recorded last instruction of block %d does not match "
147 "the actual last instruction
317 VisitInstruction(HInstruction* instruction) argument
545 VisitInstanceOf(HInstanceOf* instruction) argument
844 HandleBooleanInput(HInstruction* instruction, size_t input_index) argument
868 VisitPackedSwitch(HPackedSwitch* instruction) argument
884 VisitIf(HIf* instruction) argument
889 VisitSelect(HSelect* instruction) argument
894 VisitBooleanNot(HBooleanNot* instruction) argument
929 VisitNeg(HNeg* instruction) argument
1001 VisitConstant(HConstant* instruction) argument
1012 VisitBoundType(HBoundType* instruction) argument
1023 VisitTypeConversion(HTypeConversion* instruction) argument
[all...]
/art/runtime/interpreter/mterp/mips64/
H A DfcvtFooter.S3 * from or to a floating-point type and jumps to the next instruction.
18 GOTO_OPCODE v0 # jump to next instruction
H A Dop_nop.S3 GOTO_OPCODE v0 # jump to next instruction
/art/runtime/interpreter/mterp/mips/
H A Dop_nop.S3 GOTO_OPCODE(t0) # jump to next instruction

Completed in 354 milliseconds

1234567891011>>