Lines Matching refs:aget
281 static HArrayGet* FindFloatOrDoubleEquivalentOfArrayGet(HArrayGet* aget) { in FindFloatOrDoubleEquivalentOfArrayGet() argument
282 DataType::Type type = aget->GetType(); in FindFloatOrDoubleEquivalentOfArrayGet()
284 HInstruction* next = aget->GetNext(); in FindFloatOrDoubleEquivalentOfArrayGet()
287 if (next_aget->IsEquivalentOf(aget)) { in FindFloatOrDoubleEquivalentOfArrayGet()
294 static HArrayGet* CreateFloatOrDoubleEquivalentOfArrayGet(HArrayGet* aget) { in CreateFloatOrDoubleEquivalentOfArrayGet() argument
295 DataType::Type type = aget->GetType(); in CreateFloatOrDoubleEquivalentOfArrayGet()
297 DCHECK(FindFloatOrDoubleEquivalentOfArrayGet(aget) == nullptr); in CreateFloatOrDoubleEquivalentOfArrayGet()
299 HArrayGet* equivalent = new (aget->GetBlock()->GetGraph()->GetAllocator()) HArrayGet( in CreateFloatOrDoubleEquivalentOfArrayGet()
300 aget->GetArray(), in CreateFloatOrDoubleEquivalentOfArrayGet()
301 aget->GetIndex(), in CreateFloatOrDoubleEquivalentOfArrayGet()
303 aget->GetDexPc()); in CreateFloatOrDoubleEquivalentOfArrayGet()
304 aget->GetBlock()->InsertInstructionAfter(equivalent, aget); in CreateFloatOrDoubleEquivalentOfArrayGet()
688 HArrayGet* SsaBuilder::GetFloatOrDoubleEquivalentOfArrayGet(HArrayGet* aget) { in GetFloatOrDoubleEquivalentOfArrayGet() argument
689 DCHECK(DataType::IsIntegralType(aget->GetType())); in GetFloatOrDoubleEquivalentOfArrayGet()
691 if (!DataType::IsIntOrLongType(aget->GetType())) { in GetFloatOrDoubleEquivalentOfArrayGet()
696 DCHECK(ContainsElement(ambiguous_agets_, aget)); in GetFloatOrDoubleEquivalentOfArrayGet()
702 DCHECK(DataType::IsIntOrLongType(GetPrimitiveArrayComponentType(aget->GetArray()))); in GetFloatOrDoubleEquivalentOfArrayGet()
708 HArrayGet* equivalent = FindFloatOrDoubleEquivalentOfArrayGet(aget); in GetFloatOrDoubleEquivalentOfArrayGet()
709 return (equivalent == nullptr) ? CreateFloatOrDoubleEquivalentOfArrayGet(aget) : equivalent; in GetFloatOrDoubleEquivalentOfArrayGet()