Lines Matching refs:instruction
44 bool TryMergeIntoUsersShifterOperand(HInstruction* instruction);
65 HInstruction* instruction = it.Current(); in VisitBasicBlock() local
66 if (instruction->IsInBlock()) { in VisitBasicBlock()
67 instruction->Accept(this); in VisitBasicBlock()
73 void VisitAnd(HAnd* instruction) override;
74 void VisitArrayGet(HArrayGet* instruction) override;
75 void VisitArraySet(HArraySet* instruction) override;
76 void VisitMul(HMul* instruction) override;
77 void VisitOr(HOr* instruction) override;
78 void VisitShl(HShl* instruction) override;
79 void VisitShr(HShr* instruction) override;
80 void VisitSub(HSub* instruction) override;
81 void VisitTypeConversion(HTypeConversion* instruction) override;
82 void VisitUShr(HUShr* instruction) override;
83 void VisitXor(HXor* instruction) override;
84 void VisitVecLoad(HVecLoad* instruction) override;
85 void VisitVecStore(HVecStore* instruction) override;
193 void InstructionSimplifierArm64Visitor::VisitAnd(HAnd* instruction) { in VisitAnd() argument
194 if (TryMergeNegatedInput(instruction)) { in VisitAnd()
199 void InstructionSimplifierArm64Visitor::VisitArrayGet(HArrayGet* instruction) { in VisitArrayGet() argument
200 size_t data_offset = CodeGenerator::GetArrayDataOffset(instruction); in VisitArrayGet()
201 if (TryExtractArrayAccessAddress(instruction, in VisitArrayGet()
202 instruction->GetArray(), in VisitArrayGet()
203 instruction->GetIndex(), in VisitArrayGet()
209 void InstructionSimplifierArm64Visitor::VisitArraySet(HArraySet* instruction) { in VisitArraySet() argument
210 size_t access_size = DataType::Size(instruction->GetComponentType()); in VisitArraySet()
212 if (TryExtractArrayAccessAddress(instruction, in VisitArraySet()
213 instruction->GetArray(), in VisitArraySet()
214 instruction->GetIndex(), in VisitArraySet()
220 void InstructionSimplifierArm64Visitor::VisitMul(HMul* instruction) { in VisitMul() argument
221 if (TryCombineMultiplyAccumulate(instruction, InstructionSet::kArm64)) { in VisitMul()
226 void InstructionSimplifierArm64Visitor::VisitOr(HOr* instruction) { in VisitOr() argument
227 if (TryMergeNegatedInput(instruction)) { in VisitOr()
232 void InstructionSimplifierArm64Visitor::VisitShl(HShl* instruction) { in VisitShl() argument
233 if (instruction->InputAt(1)->IsConstant()) { in VisitShl()
234 TryMergeIntoUsersShifterOperand(instruction); in VisitShl()
238 void InstructionSimplifierArm64Visitor::VisitShr(HShr* instruction) { in VisitShr() argument
239 if (instruction->InputAt(1)->IsConstant()) { in VisitShr()
240 TryMergeIntoUsersShifterOperand(instruction); in VisitShr()
244 void InstructionSimplifierArm64Visitor::VisitSub(HSub* instruction) { in VisitSub() argument
245 if (IsSubRightSubLeftShl(instruction)) { in VisitSub()
246 HInstruction* shl = instruction->GetRight()->InputAt(0); in VisitSub()
247 if (shl->InputAt(1)->IsConstant() && TryReplaceSubSubWithSubAdd(instruction)) { in VisitSub()
253 void InstructionSimplifierArm64Visitor::VisitTypeConversion(HTypeConversion* instruction) { in VisitTypeConversion() argument
254 DataType::Type result_type = instruction->GetResultType(); in VisitTypeConversion()
255 DataType::Type input_type = instruction->GetInputType(); in VisitTypeConversion()
263 TryMergeIntoUsersShifterOperand(instruction); in VisitTypeConversion()
267 void InstructionSimplifierArm64Visitor::VisitUShr(HUShr* instruction) { in VisitUShr() argument
268 if (instruction->InputAt(1)->IsConstant()) { in VisitUShr()
269 TryMergeIntoUsersShifterOperand(instruction); in VisitUShr()
273 void InstructionSimplifierArm64Visitor::VisitXor(HXor* instruction) { in VisitXor() argument
274 if (TryMergeNegatedInput(instruction)) { in VisitXor()
279 void InstructionSimplifierArm64Visitor::VisitVecLoad(HVecLoad* instruction) { in VisitVecLoad() argument
281 if (!instruction->IsPredicated() && !instruction->IsStringCharAt() && in VisitVecLoad()
282 TryExtractVecArrayAccessAddress(instruction, instruction->GetIndex())) { in VisitVecLoad()
287 void InstructionSimplifierArm64Visitor::VisitVecStore(HVecStore* instruction) { in VisitVecStore() argument
289 if (!instruction->IsPredicated() && in VisitVecStore()
290 TryExtractVecArrayAccessAddress(instruction, instruction->GetIndex())) { in VisitVecStore()