Lines Matching refs:insn1
668 static bool IsSameSizeConstant(HInstruction* insn1, HInstruction* insn2) { in IsSameSizeConstant() argument
669 return insn1->IsConstant() in IsSameSizeConstant()
671 && Primitive::Is64BitType(insn1->GetType()) == Primitive::Is64BitType(insn2->GetType()); in IsSameSizeConstant()
674 static bool IsConstantEquivalent(HInstruction* insn1, HInstruction* insn2, BitVector* visited) { in IsConstantEquivalent() argument
675 if (insn1->IsPhi() && in IsConstantEquivalent()
676 insn1->AsPhi()->IsVRegEquivalentOf(insn2) && in IsConstantEquivalent()
677 insn1->InputCount() == insn2->InputCount()) { in IsConstantEquivalent()
679 if (visited->IsBitSet(insn1->GetId())) { in IsConstantEquivalent()
682 visited->SetBit(insn1->GetId()); in IsConstantEquivalent()
684 for (size_t i = 0, e = insn1->InputCount(); i < e; ++i) { in IsConstantEquivalent()
685 if (!IsConstantEquivalent(insn1->InputAt(i), insn2->InputAt(i), visited)) { in IsConstantEquivalent()
690 } else if (IsSameSizeConstant(insn1, insn2)) { in IsConstantEquivalent()
691 return insn1->AsConstant()->GetValueAsUint64() == insn2->AsConstant()->GetValueAsUint64(); in IsConstantEquivalent()