SimpleRegisterCoalescing::JoinIntervals() uses CoalescerPair to determine if a
copy is coalescable, and in very rare cases it can return true where LHS is not
live - the coalescable copy can come from an alias of the physreg in LHS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106021
91177308-0d34-0410-b5e6-
96231b3b80d8
// Figure out the value # from the RHS.
LiveRange *lr = RHS.getLiveRangeContaining(VNI->def.getPrevSlot());
- assert(lr && "Cannot find live range");
+ // The copy could be to an aliased physreg.
+ if (!lr) continue;
LHSValsDefinedFromRHS[VNI] = lr->valno;
}
// Figure out the value # from the LHS.
LiveRange *lr = LHS.getLiveRangeContaining(VNI->def.getPrevSlot());
- assert(lr && "Cannot find live range");
+ // The copy could be to an aliased physreg.
+ if (!lr) continue;
RHSValsDefinedFromLHS[VNI] = lr->valno;
}