diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp index 5c62ef4ad8e4e..b152adfbd93d8 100644 --- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp @@ -8079,9 +8079,9 @@ Error ModuleSummaryIndexBitcodeReader::parseEntireSummary(unsigned ID) { case bitc::FS_PERMODULE_CALLSITE_INFO: { unsigned ValueID = Record[0]; SmallVector StackIdList; - for (auto R = Record.begin() + 1; R != Record.end(); R++) { - assert(*R < StackIds.size()); - StackIdList.push_back(TheIndex.addOrGetStackIdIndex(StackIds[*R])); + for (uint64_t R : drop_begin(Record)) { + assert(R < StackIds.size()); + StackIdList.push_back(TheIndex.addOrGetStackIdIndex(StackIds[R])); } ValueInfo VI = std::get<0>(getValueInfoFromValueId(ValueID)); PendingCallsites.push_back(CallsiteInfo({VI, std::move(StackIdList)})); diff --git a/llvm/lib/IR/DebugInfo.cpp b/llvm/lib/IR/DebugInfo.cpp index cefd6fe14a3ac..7a133b209459b 100644 --- a/llvm/lib/IR/DebugInfo.cpp +++ b/llvm/lib/IR/DebugInfo.cpp @@ -976,9 +976,9 @@ void Instruction::mergeDIAssignID( return; // No DIAssignID tags to process. DIAssignID *MergeID = IDs[0]; - for (auto It = std::next(IDs.begin()), End = IDs.end(); It != End; ++It) { - if (*It != MergeID) - at::RAUW(*It, MergeID); + for (DIAssignID *AssignID : drop_begin(IDs)) { + if (AssignID != MergeID) + at::RAUW(AssignID, MergeID); } setMetadata(LLVMContext::MD_DIAssignID, MergeID); } diff --git a/llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp b/llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp index 2b890ddccf628..c21a1d03630fa 100644 --- a/llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp +++ b/llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp @@ -345,8 +345,7 @@ static bool foldGEPChainAsStructAccess(SmallVector &GEPs, Info.Indices.append(First->idx_begin(), First->idx_end()); Info.Members.push_back(First); - for (auto *Iter = GEPs.begin() + 1; Iter != GEPs.end(); ++Iter) { - GetElementPtrInst *GEP = *Iter; + for (GetElementPtrInst *GEP : drop_begin(GEPs)) { if (!isZero(*GEP->idx_begin())) { Info.reset(); return false; diff --git a/llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp b/llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp index 324b80fe2efc6..68448acf45c3c 100644 --- a/llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp +++ b/llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp @@ -509,9 +509,8 @@ class SPIRVStructurizer : public FunctionPass { } SwitchInst *Sw = ExitBuilder.CreateSwitch(Load, Dsts[0], Dsts.size() - 1); - for (auto It = Dsts.begin() + 1; It != Dsts.end(); ++It) { - Sw->addCase(DstToIndex[*It], *It); - } + for (BasicBlock *BB : drop_begin(Dsts)) + Sw->addCase(DstToIndex[BB], BB); return NewExit; } }; diff --git a/llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.cpp b/llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.cpp index 427c7d9895d88..ee7063437a8fc 100644 --- a/llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.cpp +++ b/llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.cpp @@ -46,7 +46,7 @@ ArrayRef SeedBundle::getSlice(unsigned StartIdx, uint32_t BitCountPowerOfTwo = 0; // Can't start a slice with a used instruction. assert(!isUsed(StartIdx) && "Expected unused at StartIdx"); - for (auto S : make_range(Seeds.begin() + StartIdx, Seeds.end())) { + for (Instruction *S : drop_begin(Seeds, StartIdx)) { // Stop if this instruction is used. This needs to be done before // getNumBits() because a "used" instruction may have been erased. if (isUsed(StartIdx + NumElements))