Preserve PHIDef bits in cloned values during splitting.

llvm-svn: 117405
This commit is contained in:
Jakob Stoklund Olesen 2010-10-26 22:36:02 +00:00
parent 05561e8b7b
commit 4453324e5b
1 changed files with 4 additions and 0 deletions

View File

@ -321,6 +321,10 @@ VNInfo *LiveIntervalMap::defValue(const VNInfo *ParentVNI, SlotIndex Idx) {
// Create a new value.
VNInfo *VNI = li_->getNextValue(Idx, 0, lis_.getVNInfoAllocator());
// Preserve the PHIDef bit.
if (ParentVNI->isPHIDef() && Idx == ParentVNI->def)
VNI->setIsPHIDef(true);
// Use insert for lookup, so we can add missing values with a second lookup.
std::pair<ValueMap::iterator,bool> InsP =
valueMap_.insert(makeVV(ParentVNI, Idx == ParentVNI->def ? VNI : 0));