diff --git a/llvm/lib/Analysis/TypeMetadataUtils.cpp b/llvm/lib/Analysis/TypeMetadataUtils.cpp --- a/llvm/lib/Analysis/TypeMetadataUtils.cpp +++ b/llvm/lib/Analysis/TypeMetadataUtils.cpp @@ -61,7 +61,7 @@ } else if (auto GEP = dyn_cast(User)) { // Take into account the GEP offset. if (VPtr == GEP->getPointerOperand() && GEP->hasAllConstantIndices()) { - SmallVector Indices(GEP->op_begin() + 1, GEP->op_end()); + SmallVector Indices(drop_begin(GEP->operands())); int64_t GEPOffset = M->getDataLayout().getIndexedOffsetInType( GEP->getSourceElementType(), Indices); findLoadCallsAtConstantOffset(M, DevirtCalls, User, Offset + GEPOffset, diff --git a/llvm/lib/IR/Verifier.cpp b/llvm/lib/IR/Verifier.cpp --- a/llvm/lib/IR/Verifier.cpp +++ b/llvm/lib/IR/Verifier.cpp @@ -4526,8 +4526,8 @@ visitCallStackMetadata(StackMD); // Check that remaining operands are MDString. - Check(std::all_of(MIB->op_begin() + 1, MIB->op_end(), - [](const MDOperand &Op) { return isa(Op); }), + Check(llvm::all_of(llvm::drop_begin(MIB->operands()), + [](const MDOperand &Op) { return isa(Op); }), "Not all !memprof MemInfoBlock operands 1 to N are MDString", MIB); } } diff --git a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp --- a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp +++ b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp @@ -20,6 +20,7 @@ #include "SPIRVTargetMachine.h" #include "SPIRVUtils.h" #include "TargetInfo/SPIRVTargetInfo.h" +#include "llvm/ADT/STLExtras.h" #include "llvm/CodeGen/MachineModuleInfo.h" #include "llvm/CodeGen/TargetPassConfig.h" @@ -77,10 +78,7 @@ // If there are no capabilities, or we can't satisfy the version or // capability requirements, use the list of extensions (if the subtarget // can handle them all). - if (std::all_of(ReqExts.begin(), ReqExts.end(), - [&ST](const SPIRV::Extension::Extension &Ext) { - return ST.canUseExtension(Ext); - })) { + if (llvm::all_of(ReqExts, [&ST](const SPIRV::Extension::Extension &Ext) { return {true, {}, ReqExts, 0, 0}; // TODO: add versions to extensions. } return {false, {}, {}, 0, 0};