- for (std::map<BasicBlock*, std::vector<StoreInst*> >::iterator
- I = CandidateStores.begin(), E = CandidateStores.end(); I != E; ++I)
- if (DomSetInfo.dominates(I->first, LoadBB)) {
+ // Stores in the load-bb are handled above.
+ CandidateStores.erase(LoadBB);
+
+ for (std::set<BasicBlock*>::iterator I = CandidateStores.begin(),
+ E = CandidateStores.end(); I != E; ++I)
+ if (DT.dominates(*I, LoadBB)) {
+ BasicBlock *StoreBB = *I;
+