diff --git a/llvm/include/llvm/Transforms/Utils/SSAUpdaterImpl.h b/llvm/include/llvm/Transforms/Utils/SSAUpdaterImpl.h index 746926e5bee33..52fe3a6f4baf4 100644 --- a/llvm/include/llvm/Transforms/Utils/SSAUpdaterImpl.h +++ b/llvm/include/llvm/Transforms/Utils/SSAUpdaterImpl.h @@ -366,7 +366,7 @@ class SSAUpdaterImpl { continue; // Look for an existing PHI. - FindExistingPHI(Info->BB, BlockList); + FindExistingPHI(Info->BB); if (Info->AvailableVal) continue; @@ -412,11 +412,11 @@ class SSAUpdaterImpl { /// FindExistingPHI - Look through the PHI nodes in a block to see if any of /// them match what is needed. - void FindExistingPHI(BlkT *BB, BlockListTy *BlockList) { + void FindExistingPHI(BlkT *BB) { SmallVector TaggedBlocks; for (auto &SomePHI : BB->phis()) { if (CheckIfPHIMatches(&SomePHI, TaggedBlocks)) { - RecordMatchingPHIs(BlockList); + RecordMatchingPHIs(TaggedBlocks); break; } } @@ -424,7 +424,7 @@ class SSAUpdaterImpl { /// CheckIfPHIMatches - Check if a PHI node matches the placement and values /// in the BBMap. - bool CheckIfPHIMatches(PhiT *PHI, SmallVectorImpl &TaggedBlocks) { + bool CheckIfPHIMatches(PhiT *PHI, BlockListTy &TaggedBlocks) { // Match failed: clear all the PHITag values. Only need to clear visited // blocks. auto Cleanup = make_scope_exit([&]() { @@ -484,15 +484,15 @@ class SSAUpdaterImpl { /// RecordMatchingPHIs - For each PHI node that matches, record it in both /// the BBMap and the AvailableVals mapping. - void RecordMatchingPHIs(BlockListTy *BlockList) { - for (typename BlockListTy::iterator I = BlockList->begin(), - E = BlockList->end(); I != E; ++I) - if (PhiT *PHI = (*I)->PHITag) { - BlkT *BB = PHI->getParent(); - ValT PHIVal = Traits::GetPHIValue(PHI); - (*AvailableVals)[BB] = PHIVal; - BBMap[BB]->AvailableVal = PHIVal; - } + void RecordMatchingPHIs(BlockListTy &TaggedBlocks) { + for (BBInfo *Block : TaggedBlocks) { + PhiT *PHI = Block->PHITag; + assert(PHI && "PHITag didn't set?"); + BlkT *BB = PHI->getParent(); + ValT PHIVal = Traits::GetPHIValue(PHI); + (*AvailableVals)[BB] = PHIVal; + BBMap[BB]->AvailableVal = PHIVal; + } } };