Lines Matching defs:aget
278 static HArrayGet* FindFloatOrDoubleEquivalentOfArrayGet(HArrayGet* aget) {
279 DataType::Type type = aget->GetType();
281 HInstruction* next = aget->GetNext();
284 if (next_aget->IsEquivalentOf(aget)) {
291 static HArrayGet* CreateFloatOrDoubleEquivalentOfArrayGet(HArrayGet* aget) {
292 DataType::Type type = aget->GetType();
294 DCHECK(FindFloatOrDoubleEquivalentOfArrayGet(aget) == nullptr);
296 HArrayGet* equivalent = new (aget->GetBlock()->GetGraph()->GetAllocator()) HArrayGet(
297 aget->GetArray(),
298 aget->GetIndex(),
300 aget->GetDexPc());
301 aget->GetBlock()->InsertInstructionAfter(equivalent, aget);
649 HArrayGet* SsaBuilder::GetFloatOrDoubleEquivalentOfArrayGet(HArrayGet* aget) {
650 DCHECK(DataType::IsIntegralType(aget->GetType()));
652 if (!DataType::IsIntOrLongType(aget->GetType())) {
657 DCHECK(ContainsElement(ambiguous_agets_, aget));
663 DCHECK(DataType::IsIntOrLongType(GetPrimitiveArrayComponentType(aget->GetArray())));
669 HArrayGet* equivalent = FindFloatOrDoubleEquivalentOfArrayGet(aget);
670 return (equivalent == nullptr) ? CreateFloatOrDoubleEquivalentOfArrayGet(aget) : equivalent;