Home | History | Annotate | Download | only in optimizing

Lines Matching full:insn1

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