Lines Matching refs:aget
272 static HArrayGet* FindFloatOrDoubleEquivalentOfArrayGet(HArrayGet* aget) { in FindFloatOrDoubleEquivalentOfArrayGet() argument
273 Primitive::Type type = aget->GetType(); in FindFloatOrDoubleEquivalentOfArrayGet()
275 HInstruction* next = aget->GetNext(); in FindFloatOrDoubleEquivalentOfArrayGet()
278 if (next_aget->IsEquivalentOf(aget)) { in FindFloatOrDoubleEquivalentOfArrayGet()
285 static HArrayGet* CreateFloatOrDoubleEquivalentOfArrayGet(HArrayGet* aget) { in CreateFloatOrDoubleEquivalentOfArrayGet() argument
286 Primitive::Type type = aget->GetType(); in CreateFloatOrDoubleEquivalentOfArrayGet()
288 DCHECK(FindFloatOrDoubleEquivalentOfArrayGet(aget) == nullptr); in CreateFloatOrDoubleEquivalentOfArrayGet()
290 HArrayGet* equivalent = new (aget->GetBlock()->GetGraph()->GetArena()) HArrayGet( in CreateFloatOrDoubleEquivalentOfArrayGet()
291 aget->GetArray(), in CreateFloatOrDoubleEquivalentOfArrayGet()
292 aget->GetIndex(), in CreateFloatOrDoubleEquivalentOfArrayGet()
294 aget->GetDexPc()); in CreateFloatOrDoubleEquivalentOfArrayGet()
295 aget->GetBlock()->InsertInstructionAfter(equivalent, aget); in CreateFloatOrDoubleEquivalentOfArrayGet()
639 HArrayGet* SsaBuilder::GetFloatOrDoubleEquivalentOfArrayGet(HArrayGet* aget) { in GetFloatOrDoubleEquivalentOfArrayGet() argument
640 DCHECK(Primitive::IsIntegralType(aget->GetType())); in GetFloatOrDoubleEquivalentOfArrayGet()
642 if (!Primitive::IsIntOrLongType(aget->GetType())) { in GetFloatOrDoubleEquivalentOfArrayGet()
647 DCHECK(ContainsElement(ambiguous_agets_, aget)); in GetFloatOrDoubleEquivalentOfArrayGet()
653 DCHECK(Primitive::IsIntOrLongType(GetPrimitiveArrayComponentType(aget->GetArray()))); in GetFloatOrDoubleEquivalentOfArrayGet()
659 HArrayGet* equivalent = FindFloatOrDoubleEquivalentOfArrayGet(aget); in GetFloatOrDoubleEquivalentOfArrayGet()
660 return (equivalent == nullptr) ? CreateFloatOrDoubleEquivalentOfArrayGet(aget) : equivalent; in GetFloatOrDoubleEquivalentOfArrayGet()