/art/compiler/optimizing/ |
H A D | code_generator_vector_arm.cc | 25 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 D | code_generator_vector_arm_vixl.cc | 25 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 D | code_generator_vector_mips.cc | 25 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 D | code_generator_vector_mips64.cc | 25 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 D | constant_folding.cc | 50 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 D | scheduler.cc | 32 // 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 D | instruction_simplifier_arm64.cc | 103 // 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 D | instruction_simplifier_arm.cc | 106 // 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 D | instruction_simplifier_arm64.h | 38 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 D | code_sinking.cc | 39 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 D | locations.cc | 29 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 D | code_generator_vector_x86.cc | 26 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 D | code_generator_vector_x86_64.cc | 26 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 D | instruction_simplifier_arm.h | 38 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 D | code_generator_vector_arm64.cc | 34 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 D | instruction_simplifier_shared.h | 26 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 D | nodes_shared.cc | 24 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 D | instruction_simplifier.cc | 54 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 D | licm.cc | 23 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 D | load_store_elimination.cc | 66 // 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 D | graph_checker.h | 50 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 D | graph_checker.cc | 32 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 D | fcvtFooter.S | 3 * from or to a floating-point type and jumps to the next instruction. 18 GOTO_OPCODE v0 # jump to next instruction
|
H A D | op_nop.S | 3 GOTO_OPCODE v0 # jump to next instruction
|
/art/runtime/interpreter/mterp/mips/ |
H A D | op_nop.S | 3 GOTO_OPCODE(t0) # jump to next instruction
|