Index: llvm/lib/Analysis/LoopAccessAnalysis.cpp =================================================================== --- llvm/lib/Analysis/LoopAccessAnalysis.cpp +++ llvm/lib/Analysis/LoopAccessAnalysis.cpp @@ -1480,12 +1480,11 @@ void LoopAccessInfo::analyzeLoop(const ValueToValueMap &Strides) { - typedef SmallVector ValueVector; typedef SmallPtrSet ValueSet; - // Holds the Load and Store *instructions*. - ValueVector Loads; - ValueVector Stores; + // Holds the Load and Store instructions. + SmallVector Loads; + SmallVector Stores; // Holds all the different accesses in the loop. unsigned NumReads = 0; @@ -1580,10 +1579,8 @@ // writes and between reads and writes, but not between reads and reads. ValueSet Seen; - ValueVector::iterator I, IE; - for (I = Stores.begin(), IE = Stores.end(); I != IE; ++I) { - StoreInst *ST = cast(*I); - Value* Ptr = ST->getPointerOperand(); + for (StoreInst *ST : Stores) { + Value *Ptr = ST->getPointerOperand(); // Check for store to loop invariant address. StoreToLoopInvariantAddress |= isUniform(Ptr); // If we did *not* see this pointer before, insert it to the read-write @@ -1610,9 +1607,8 @@ return; } - for (I = Loads.begin(), IE = Loads.end(); I != IE; ++I) { - LoadInst *LD = cast(*I); - Value* Ptr = LD->getPointerOperand(); + for (LoadInst *LD : Loads) { + Value *Ptr = LD->getPointerOperand(); // If we did *not* see this pointer before, insert it to the // read list. If we *did* see it before, then it is already in // the read-write list. This allows us to vectorize expressions