diff --git a/SMPBasicBlock.cpp b/SMPBasicBlock.cpp index 272c2826d2576eec06e3453a0c45d6bbdf916ef7..55d37383abae65dc59d25473d228457e4cf2fda7 100644 --- a/SMPBasicBlock.cpp +++ b/SMPBasicBlock.cpp @@ -1102,10 +1102,11 @@ set<SMPPhiFunction, LessPhi>::iterator SMPBasicBlock::InferPhiDefType(set<SMPPhi } } // Must have seen consistent types if we reach this point. - ReturnPhi = this->SetPhiDefType(DefPhi->GetAnyOp(), UseType); + ReturnPhi = this->SetPhiDefType(DefOp, UseType); changed = true; // Propagate down to USEs of this DEF. if (!MDIsIndirectMemoryOpnd(DefOp, this->MyFunc->UsesFramePointer())) + this->MyFunc->ResetProcessedBlocks(); changed |= this->PropagateGlobalDefType(DefOp, UseType, SSANum); return ReturnPhi; } // end of SMPBasicBlock::InferPhiDefType()