Fix PR8815 by checking for an explicit clobber def tied to a use operand in

ConnectedVNInfoEqClasses::Classify().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122202 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Cameron Zwarich 2010-12-19 22:12:45 +00:00
parent c19d1c3ba2
commit fb69f6037d

View File

@ -769,6 +769,14 @@ unsigned ConnectedVNInfoEqClasses::Classify(const LiveInterval *LI) {
// operand constraint?
if (const VNInfo *UVNI = LI->getVNInfoAt(VNI->def.getUseIndex()))
Connect(VNI->id, UVNI->id);
// Check for a tied operand constraint involving an early clobber def,
// where one VN ends right before the use index and the next VN is defined
// at the same use index.
if (VNI->def.isUse()) {
if (const VNInfo *PVNI = LI->getVNInfoAt(VNI->def.getLoadIndex()))
Connect(PVNI->id, VNI->id);
}
}
}