<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Aug 11, 2016 at 9:39 PM, Mehdi Amini <span dir="ltr"><<a href="mailto:mehdi.amini@apple.com" target="_blank">mehdi.amini@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">That’s a really nice cleanup!<br></blockquote><div><br></div><div>Thanks!</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<br>
Did you use some clang-tidy rules (or another tool) or it was all manual?<br></blockquote><div><br></div><div>Nothing quite so high-tech, just some sed rules:</div><div>git ls-files -z | xargs -0 sed -i 's/std::find(\(.*\)\.begin(), \1\.end()/find(\1/'<br></div><div>git ls-files -z | xargs -0 sed -i 's/find(\(.*\)\, \(.*\)) == \1.end()/!is_contained(\1, \2)/'<br></div><div>git ls-files -z | xargs -0 sed -i 's/find(\(.*\)\, \(.*\)) != \1.end()/is_contained(\1, \2)/'<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<br>
—<br>
<span class=""><font color="#888888">Mehdi<br>
</font></span><div class=""><div class="h5"><br>
> On Aug 11, 2016, at 3:21 PM, David Majnemer via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br>
><br>
> Author: majnemer<br>
> Date: Thu Aug 11 17:21:41 2016<br>
> New Revision: 278433<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=278433&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=278433&view=rev</a><br>
> Log:<br>
> Use the range variant of find instead of unpacking begin/end<br>
><br>
> If the result of the find is only used to compare against end(), just<br>
> use is_contained instead.<br>
><br>
> No functionality change is intended.<br>
><br>
> Modified:<br>
>    llvm/trunk/examples/<wbr>Kaleidoscope/include/<wbr>KaleidoscopeJIT.h<br>
>    llvm/trunk/include/llvm/ADT/<wbr>PriorityQueue.h<br>
>    llvm/trunk/include/llvm/ADT/<wbr>SetVector.h<br>
>    llvm/trunk/include/llvm/<wbr>Analysis/LoopInfo.h<br>
>    llvm/trunk/include/llvm/<wbr>Analysis/LoopInfoImpl.h<br>
>    llvm/trunk/include/llvm/<wbr>CodeGen/LiveVariables.h<br>
>    llvm/trunk/include/llvm/<wbr>CodeGen/MachineScheduler.h<br>
>    llvm/trunk/include/llvm/<wbr>CodeGen/PBQP/Graph.h<br>
>    llvm/trunk/include/llvm/IR/<wbr>InstrTypes.h<br>
>    llvm/trunk/include/llvm/MC/<wbr>MCAssembler.h<br>
>    llvm/trunk/include/llvm/<wbr>Support/GenericDomTree.h<br>
>    llvm/trunk/lib/Analysis/<wbr>EHPersonalities.cpp<br>
>    llvm/trunk/lib/Analysis/<wbr>GlobalsModRef.cpp<br>
>    llvm/trunk/lib/Analysis/<wbr>LazyCallGraph.cpp<br>
>    llvm/trunk/lib/Analysis/<wbr>PHITransAddr.cpp<br>
>    llvm/trunk/lib/CodeGen/<wbr>AllocationOrder.cpp<br>
>    llvm/trunk/lib/CodeGen/<wbr>AllocationOrder.h<br>
>    llvm/trunk/lib/CodeGen/<wbr>AsmPrinter/<wbr>DbgValueHistoryCalculator.cpp<br>
>    llvm/trunk/lib/CodeGen/<wbr>AsmPrinter/OcamlGCPrinter.cpp<br>
>    llvm/trunk/lib/CodeGen/<wbr>CodeGenPrepare.cpp<br>
>    llvm/trunk/lib/CodeGen/<wbr>LatencyPriorityQueue.cpp<br>
>    llvm/trunk/lib/CodeGen/<wbr>LiveIntervalUnion.cpp<br>
>    llvm/trunk/lib/CodeGen/<wbr>MachineBasicBlock.cpp<br>
>    llvm/trunk/lib/CodeGen/<wbr>MachineBlockPlacement.cpp<br>
>    llvm/trunk/lib/CodeGen/<wbr>MachineCopyPropagation.cpp<br>
>    llvm/trunk/lib/CodeGen/<wbr>MachineLICM.cpp<br>
>    llvm/trunk/lib/CodeGen/<wbr>MachineVerifier.cpp<br>
>    llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/DAGCombiner.cpp<br>
>    llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/<wbr>FunctionLoweringInfo.cpp<br>
>    llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/<wbr>ResourcePriorityQueue.cpp<br>
>    llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/<wbr>ScheduleDAGRRList.cpp<br>
>    llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/SelectionDAGISel.<wbr>cpp<br>
>    llvm/trunk/lib/CodeGen/<wbr>TailDuplicator.cpp<br>
>    llvm/trunk/lib/CodeGen/<wbr>TargetInstrInfo.cpp<br>
>    llvm/trunk/lib/CodeGen/<wbr>TargetRegisterInfo.cpp<br>
>    llvm/trunk/lib/IR/<wbr>LegacyPassManager.cpp<br>
>    llvm/trunk/lib/IR/<wbr>PassRegistry.cpp<br>
>    llvm/trunk/lib/Option/<wbr>OptTable.cpp<br>
>    llvm/trunk/lib/Support/<wbr>CommandLine.cpp<br>
>    llvm/trunk/lib/Support/<wbr>YAMLParser.cpp<br>
>    llvm/trunk/lib/Target/AArch64/<wbr>AArch64ISelLowering.cpp<br>
>    llvm/trunk/lib/Target/AMDGPU/<wbr>AMDGPUPromoteAlloca.cpp<br>
>    llvm/trunk/lib/Target/AMDGPU/<wbr>R600OptimizeVectorRegisters.<wbr>cpp<br>
>    llvm/trunk/lib/Target/AMDGPU/<wbr>SIAnnotateControlFlow.cpp<br>
>    llvm/trunk/lib/Target/AMDGPU/<wbr>SIMachineScheduler.cpp<br>
>    llvm/trunk/lib/Target/ARM/<wbr>ARMBaseRegisterInfo.cpp<br>
>    llvm/trunk/lib/Target/ARM/<wbr>ARMConstantIslandPass.cpp<br>
>    llvm/trunk/lib/Target/ARM/<wbr>ARMFrameLowering.cpp<br>
>    llvm/trunk/lib/Target/ARM/<wbr>ARMISelLowering.cpp<br>
>    llvm/trunk/lib/Target/ARM/<wbr>ARMLoadStoreOptimizer.cpp<br>
>    llvm/trunk/lib/Target/Hexagon/<wbr>HexagonBitSimplify.cpp<br>
>    llvm/trunk/lib/Target/Hexagon/<wbr>HexagonMachineScheduler.h<br>
>    llvm/trunk/lib/Target/Hexagon/<wbr>HexagonVLIWPacketizer.cpp<br>
>    llvm/trunk/lib/Target/Mips/<wbr>MipsConstantIslandPass.cpp<br>
>    llvm/trunk/lib/Target/NVPTX/<wbr>NVPTXUtilities.cpp<br>
>    llvm/trunk/lib/Target/Sparc/<wbr>LeonPasses.cpp   (contents, props changed)<br>
>    llvm/trunk/lib/Target/X86/<wbr>X86ISelLowering.cpp<br>
>    llvm/trunk/lib/Transforms/<wbr>Scalar/JumpThreading.cpp<br>
>    llvm/trunk/lib/Transforms/<wbr>Scalar/LoopRerollPass.cpp<br>
>    llvm/trunk/lib/Transforms/<wbr>Scalar/LoopStrengthReduce.cpp<br>
>    llvm/trunk/lib/Transforms/<wbr>Scalar/<wbr>RewriteStatepointsForGC.cpp<br>
>    llvm/trunk/lib/Transforms/<wbr>Scalar/StructurizeCFG.cpp<br>
>    llvm/trunk/lib/Transforms/<wbr>Utils/Evaluator.cpp<br>
>    llvm/trunk/lib/Transforms/<wbr>Utils/LCSSA.cpp<br>
>    llvm/trunk/lib/Transforms/<wbr>Utils/SSAUpdater.cpp<br>
>    llvm/trunk/lib/Transforms/<wbr>Vectorize/SLPVectorizer.cpp<br>
>    llvm/trunk/tools/bugpoint/<wbr>CrashDebugger.cpp<br>
>    llvm/trunk/tools/dsymutil/<wbr>MachODebugMapParser.cpp<br>
>    llvm/trunk/tools/llvm-ar/llvm-<wbr>ar.cpp<br>
>    llvm/trunk/unittests/<wbr>ExecutionEngine/MCJIT/<wbr>MCJITTestAPICommon.h<br>
>    llvm/trunk/unittests/Support/<wbr>Path.cpp<br>
>    llvm/trunk/unittests/Support/<wbr>ThreadPool.cpp<br>
>    llvm/trunk/utils/TableGen/<wbr>AsmMatcherEmitter.cpp<br>
>    llvm/trunk/utils/TableGen/<wbr>CodeGenDAGPatterns.h<br>
>    llvm/trunk/utils/TableGen/<wbr>CodeGenRegisters.cpp<br>
>    llvm/trunk/utils/TableGen/<wbr>CodeGenSchedule.cpp<br>
>    llvm/trunk/utils/TableGen/<wbr>CodeGenTarget.h<br>
>    llvm/trunk/utils/TableGen/<wbr>SubtargetEmitter.cpp<br>
><br>
> Modified: llvm/trunk/examples/<wbr>Kaleidoscope/include/<wbr>KaleidoscopeJIT.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/examples/Kaleidoscope/include/KaleidoscopeJIT.h?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/examples/<wbr>Kaleidoscope/include/<wbr>KaleidoscopeJIT.h?rev=278433&<wbr>r1=278432&r2=278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/examples/<wbr>Kaleidoscope/include/<wbr>KaleidoscopeJIT.h (original)<br>
> +++ llvm/trunk/examples/<wbr>Kaleidoscope/include/<wbr>KaleidoscopeJIT.h Thu Aug 11 17:21:41 2016<br>
> @@ -72,8 +72,7 @@ public:<br>
>   }<br>
><br>
>   void removeModule(ModuleHandleT H) {<br>
> -    ModuleHandles.erase(<br>
> -        std::find(ModuleHandles.begin(<wbr>), ModuleHandles.end(), H));<br>
> +    ModuleHandles.erase(find(<wbr>ModuleHandles, H));<br>
>     CompileLayer.removeModuleSet(<wbr>H);<br>
>   }<br>
><br>
><br>
> Modified: llvm/trunk/include/llvm/ADT/<wbr>PriorityQueue.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/PriorityQueue.h?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/ADT/PriorityQueue.h?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/include/llvm/ADT/<wbr>PriorityQueue.h (original)<br>
> +++ llvm/trunk/include/llvm/ADT/<wbr>PriorityQueue.h Thu Aug 11 17:21:41 2016<br>
> @@ -46,8 +46,7 @@ public:<br>
>   ///<br>
>   void erase_one(const T &t) {<br>
>     // Linear-search to find the element.<br>
> -    typename Sequence::size_type i =<br>
> -      std::find(this->c.begin(), this->c.end(), t) - this->c.begin();<br>
> +    typename Sequence::size_type i = find(this->c, t) - this->c.begin();<br>
><br>
>     // Logarithmic-time heap bubble-up.<br>
>     while (i != 0) {<br>
><br>
> Modified: llvm/trunk/include/llvm/ADT/<wbr>SetVector.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/SetVector.h?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/ADT/SetVector.h?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/include/llvm/ADT/<wbr>SetVector.h (original)<br>
> +++ llvm/trunk/include/llvm/ADT/<wbr>SetVector.h Thu Aug 11 17:21:41 2016<br>
> @@ -21,6 +21,7 @@<br>
> #define LLVM_ADT_SETVECTOR_H<br>
><br>
> #include "llvm/ADT/DenseSet.h"<br>
> +#include "llvm/ADT/STLExtras.h"<br>
> #include "llvm/ADT/SmallSet.h"<br>
> #include <algorithm><br>
> #include <cassert><br>
> @@ -143,8 +144,7 @@ public:<br>
>   /// \brief Remove an item from the set vector.<br>
>   bool remove(const value_type& X) {<br>
>     if (set_.erase(X)) {<br>
> -      typename vector_type::iterator I =<br>
> -        std::find(vector_.begin(), vector_.end(), X);<br>
> +      typename vector_type::iterator I = find(vector_, X);<br>
>       assert(I != vector_.end() && "Corrupted SetVector instances!");<br>
>       vector_.erase(I);<br>
>       return true;<br>
><br>
> Modified: llvm/trunk/include/llvm/<wbr>Analysis/LoopInfo.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/LoopInfo.h?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Analysis/LoopInfo.h?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/include/llvm/<wbr>Analysis/LoopInfo.h (original)<br>
> +++ llvm/trunk/include/llvm/<wbr>Analysis/LoopInfo.h Thu Aug 11 17:21:41 2016<br>
> @@ -329,7 +329,7 @@ public:<br>
>   /// Blocks as appropriate. This does not update the mapping in the LoopInfo<br>
>   /// class.<br>
>   void removeBlockFromLoop(BlockT *BB) {<br>
> -    auto I = std::find(Blocks.begin(), Blocks.end(), BB);<br>
> +    auto I = find(Blocks, BB);<br>
>     assert(I != Blocks.end() && "N is not in this list!");<br>
>     Blocks.erase(I);<br>
><br>
> @@ -594,7 +594,7 @@ public:<br>
>   /// loop.<br>
>   void changeTopLevelLoop(LoopT *OldLoop,<br>
>                           LoopT *NewLoop) {<br>
> -    auto I = std::find(TopLevelLoops.begin(<wbr>), TopLevelLoops.end(), OldLoop);<br>
> +    auto I = find(TopLevelLoops, OldLoop);<br>
>     assert(I != TopLevelLoops.end() && "Old loop not at top level!");<br>
>     *I = NewLoop;<br>
>     assert(!NewLoop->ParentLoop && !OldLoop->ParentLoop &&<br>
><br>
> Modified: llvm/trunk/include/llvm/<wbr>Analysis/LoopInfoImpl.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/LoopInfoImpl.h?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Analysis/LoopInfoImpl.h?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/include/llvm/<wbr>Analysis/LoopInfoImpl.h (original)<br>
> +++ llvm/trunk/include/llvm/<wbr>Analysis/LoopInfoImpl.h Thu Aug 11 17:21:41 2016<br>
> @@ -211,8 +211,7 @@ void LoopBase<BlockT, LoopT>::<br>
> replaceChildLoopWith(LoopT *OldChild, LoopT *NewChild) {<br>
>   assert(OldChild->ParentLoop == this && "This loop is already broken!");<br>
>   assert(!NewChild->ParentLoop && "NewChild already has a parent!");<br>
> -  typename std::vector<LoopT *>::iterator I =<br>
> -    std::find(SubLoops.begin(), SubLoops.end(), OldChild);<br>
> +  typename std::vector<LoopT *>::iterator I = find(SubLoops, OldChild);<br>
>   assert(I != SubLoops.end() && "OldChild not in loop!");<br>
>   *I = NewChild;<br>
>   OldChild->ParentLoop = nullptr;<br>
><br>
> Modified: llvm/trunk/include/llvm/<wbr>CodeGen/LiveVariables.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/LiveVariables.h?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/CodeGen/LiveVariables.h?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/include/llvm/<wbr>CodeGen/LiveVariables.h (original)<br>
> +++ llvm/trunk/include/llvm/<wbr>CodeGen/LiveVariables.h Thu Aug 11 17:21:41 2016<br>
> @@ -92,8 +92,7 @@ public:<br>
>     /// machine instruction. Returns true if there was a kill<br>
>     /// corresponding to this instruction, false otherwise.<br>
>     bool removeKill(MachineInstr &MI) {<br>
> -      std::vector<MachineInstr *>::iterator I =<br>
> -          std::find(Kills.begin(), Kills.end(), &MI);<br>
> +      std::vector<MachineInstr *>::iterator I = find(Kills, &MI);<br>
>       if (I == Kills.end())<br>
>         return false;<br>
>       Kills.erase(I);<br>
><br>
> Modified: llvm/trunk/include/llvm/<wbr>CodeGen/MachineScheduler.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineScheduler.h?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/CodeGen/MachineScheduler.<wbr>h?rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/include/llvm/<wbr>CodeGen/MachineScheduler.h (original)<br>
> +++ llvm/trunk/include/llvm/<wbr>CodeGen/MachineScheduler.h Thu Aug 11 17:21:41 2016<br>
> @@ -518,9 +518,7 @@ public:<br>
><br>
>   ArrayRef<SUnit*> elements() { return Queue; }<br>
><br>
> -  iterator find(SUnit *SU) {<br>
> -    return std::find(Queue.begin(), Queue.end(), SU);<br>
> -  }<br>
> +  iterator find(SUnit *SU) { return llvm::find(Queue, SU); }<br>
><br>
>   void push(SUnit *SU) {<br>
>     Queue.push_back(SU);<br>
><br>
> Modified: llvm/trunk/include/llvm/<wbr>CodeGen/PBQP/Graph.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/PBQP/Graph.h?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/CodeGen/PBQP/Graph.h?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/include/llvm/<wbr>CodeGen/PBQP/Graph.h (original)<br>
> +++ llvm/trunk/include/llvm/<wbr>CodeGen/PBQP/Graph.h Thu Aug 11 17:21:41 2016<br>
> @@ -262,9 +262,7 @@ namespace PBQP {<br>
><br>
>     private:<br>
>       NodeId findNextInUse(NodeId NId) const {<br>
> -        while (NId < EndNId &&<br>
> -               std::find(FreeNodeIds.begin(), FreeNodeIds.end(), NId) !=<br>
> -               FreeNodeIds.end()) {<br>
> +        while (NId < EndNId && is_contained(FreeNodeIds, NId)) {<br>
>           ++NId;<br>
>         }<br>
>         return NId;<br>
> @@ -288,9 +286,7 @@ namespace PBQP {<br>
><br>
>     private:<br>
>       EdgeId findNextInUse(EdgeId EId) const {<br>
> -        while (EId < EndEId &&<br>
> -               std::find(FreeEdgeIds.begin(), FreeEdgeIds.end(), EId) !=<br>
> -               FreeEdgeIds.end()) {<br>
> +        while (EId < EndEId && is_contained(FreeEdgeIds, EId)) {<br>
>           ++EId;<br>
>         }<br>
>         return EId;<br>
><br>
> Modified: llvm/trunk/include/llvm/IR/<wbr>InstrTypes.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/InstrTypes.h?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/IR/InstrTypes.h?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/include/llvm/IR/<wbr>InstrTypes.h (original)<br>
> +++ llvm/trunk/include/llvm/IR/<wbr>InstrTypes.h Thu Aug 11 17:21:41 2016<br>
> @@ -1478,7 +1478,7 @@ public:<br>
>   bool hasOperandBundlesOtherThan(<wbr>ArrayRef<uint32_t> IDs) const {<br>
>     for (unsigned i = 0, e = getNumOperandBundles(); i != e; ++i) {<br>
>       uint32_t ID = getOperandBundleAt(i).<wbr>getTagID();<br>
> -      if (std::find(IDs.begin(), IDs.end(), ID) == IDs.end())<br>
> +      if (!is_contained(IDs, ID))<br>
>         return true;<br>
>     }<br>
>     return false;<br>
><br>
> Modified: llvm/trunk/include/llvm/MC/<wbr>MCAssembler.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCAssembler.h?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/MC/MCAssembler.h?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/include/llvm/MC/<wbr>MCAssembler.h (original)<br>
> +++ llvm/trunk/include/llvm/MC/<wbr>MCAssembler.h Thu Aug 11 17:21:41 2016<br>
> @@ -10,6 +10,7 @@<br>
> #ifndef LLVM_MC_MCASSEMBLER_H<br>
> #define LLVM_MC_MCASSEMBLER_H<br>
><br>
> +#include "llvm/ADT/STLExtras.h"<br>
> #include "llvm/ADT/SmallPtrSet.h"<br>
> #include "llvm/ADT/ilist.h"<br>
> #include "llvm/ADT/ilist_node.h"<br>
> @@ -402,8 +403,7 @@ public:<br>
>   ArrayRef<std::string> getFileNames() { return FileNames; }<br>
><br>
>   void addFileName(StringRef FileName) {<br>
> -    if (std::find(FileNames.begin(), FileNames.end(), FileName) ==<br>
> -        FileNames.end())<br>
> +    if (!is_contained(FileNames, FileName))<br>
>       FileNames.push_back(FileName);<br>
>   }<br>
><br>
><br>
> Modified: llvm/trunk/include/llvm/<wbr>Support/GenericDomTree.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/GenericDomTree.h?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Support/GenericDomTree.h?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/include/llvm/<wbr>Support/GenericDomTree.h (original)<br>
> +++ llvm/trunk/include/llvm/<wbr>Support/GenericDomTree.h Thu Aug 11 17:21:41 2016<br>
> @@ -126,7 +126,7 @@ public:<br>
>     assert(IDom && "No immediate dominator?");<br>
>     if (IDom != NewIDom) {<br>
>       typename std::vector<DomTreeNodeBase<<wbr>NodeT> *>::iterator I =<br>
> -          std::find(IDom->Children.<wbr>begin(), IDom->Children.end(), this);<br>
> +          find(IDom->Children, this);<br>
>       assert(I != IDom->Children.end() &&<br>
>              "Not in immediate dominator children set!");<br>
>       // I am no longer your child...<br>
> @@ -588,7 +588,7 @@ public:<br>
>     DomTreeNodeBase<NodeT> *IDom = Node->getIDom();<br>
>     if (IDom) {<br>
>       typename std::vector<DomTreeNodeBase<<wbr>NodeT> *>::iterator I =<br>
> -          std::find(IDom->Children.<wbr>begin(), IDom->Children.end(), Node);<br>
> +          find(IDom->Children, Node);<br>
>       assert(I != IDom->Children.end() &&<br>
>              "Not in immediate dominator children set!");<br>
>       // I am no longer your child...<br>
><br>
> Modified: llvm/trunk/lib/Analysis/<wbr>EHPersonalities.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/EHPersonalities.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Analysis/EHPersonalities.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Analysis/<wbr>EHPersonalities.cpp (original)<br>
> +++ llvm/trunk/lib/Analysis/<wbr>EHPersonalities.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -82,7 +82,7 @@ DenseMap<BasicBlock *, ColorVector> llvm<br>
>     }<br>
>     // Note that this is a member of the given color.<br>
>     ColorVector &Colors = BlockColors[Visiting];<br>
> -    if (std::find(Colors.begin(), Colors.end(), Color) == Colors.end())<br>
> +    if (!is_contained(Colors, Color))<br>
>       Colors.push_back(Color);<br>
>     else<br>
>       continue;<br>
><br>
> Modified: llvm/trunk/lib/Analysis/<wbr>GlobalsModRef.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/GlobalsModRef.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Analysis/GlobalsModRef.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Analysis/<wbr>GlobalsModRef.cpp (original)<br>
> +++ llvm/trunk/lib/Analysis/<wbr>GlobalsModRef.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -521,7 +521,7 @@ void GlobalsAAResult::<wbr>AnalyzeCallGraph(C<br>
>             // Can't say anything about it.  However, if it is inside our SCC,<br>
>             // then nothing needs to be done.<br>
>             CallGraphNode *CalleeNode = CG[Callee];<br>
> -            if (std::find(SCC.begin(), SCC.end(), CalleeNode) == SCC.end())<br>
> +            if (!is_contained(SCC, CalleeNode))<br>
>               KnowNothing = true;<br>
>           }<br>
>         } else {<br>
><br>
> Modified: llvm/trunk/lib/Analysis/<wbr>LazyCallGraph.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/LazyCallGraph.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Analysis/LazyCallGraph.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Analysis/<wbr>LazyCallGraph.cpp (original)<br>
> +++ llvm/trunk/lib/Analysis/<wbr>LazyCallGraph.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -907,8 +907,7 @@ void LazyCallGraph::RefSCC::<wbr>removeOutgoi<br>
>   RefSCC &TargetRC = *G->lookupRefSCC(TargetN);<br>
>   assert(&TargetRC != this && "The target must not be a member of this RefSCC");<br>
><br>
> -  assert(std::find(G-><wbr>LeafRefSCCs.begin(), G->LeafRefSCCs.end(), this) ==<br>
> -             G->LeafRefSCCs.end() &&<br>
> +  assert(!is_contained(G-><wbr>LeafRefSCCs, this) &&<br>
>          "Cannot have a leaf RefSCC source.");<br>
><br>
>   // First remove it from the node.<br>
><br>
> Modified: llvm/trunk/lib/Analysis/<wbr>PHITransAddr.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/PHITransAddr.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Analysis/PHITransAddr.cpp?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Analysis/<wbr>PHITransAddr.cpp (original)<br>
> +++ llvm/trunk/lib/Analysis/<wbr>PHITransAddr.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -62,8 +62,7 @@ static bool VerifySubExpr(Value *Expr,<br>
><br>
>   // If it's an instruction, it is either in Tmp or its operands recursively<br>
>   // are.<br>
> -  SmallVectorImpl<Instruction*>:<wbr>:iterator Entry =<br>
> -    std::find(InstInputs.begin(), InstInputs.end(), I);<br>
> +  SmallVectorImpl<Instruction *>::iterator Entry = find(InstInputs, I);<br>
>   if (Entry != InstInputs.end()) {<br>
>     InstInputs.erase(Entry);<br>
>     return true;<br>
> @@ -126,8 +125,7 @@ static void RemoveInstInputs(Value *V,<br>
>   if (!I) return;<br>
><br>
>   // If the instruction is in the InstInputs list, remove it.<br>
> -  SmallVectorImpl<Instruction*>:<wbr>:iterator Entry =<br>
> -    std::find(InstInputs.begin(), InstInputs.end(), I);<br>
> +  SmallVectorImpl<Instruction *>::iterator Entry = find(InstInputs, I);<br>
>   if (Entry != InstInputs.end()) {<br>
>     InstInputs.erase(Entry);<br>
>     return;<br>
> @@ -150,8 +148,7 @@ Value *PHITransAddr::<wbr>PHITranslateSubExpr<br>
>   if (!Inst) return V;<br>
><br>
>   // Determine whether 'Inst' is an input to our PHI translatable expression.<br>
> -  bool isInput =<br>
> -      std::find(InstInputs.begin(), InstInputs.end(), Inst) != InstInputs.end();<br>
> +  bool isInput = is_contained(InstInputs, Inst);<br>
><br>
>   // Handle inputs instructions if needed.<br>
>   if (isInput) {<br>
> @@ -165,7 +162,7 @@ Value *PHITransAddr::<wbr>PHITranslateSubExpr<br>
>     // translated, we need to incorporate the value into the expression or fail.<br>
><br>
>     // In either case, the instruction itself isn't an input any longer.<br>
> -    InstInputs.erase(std::find(<wbr>InstInputs.begin(), InstInputs.end(), Inst));<br>
> +    InstInputs.erase(find(<wbr>InstInputs, Inst));<br>
><br>
>     // If this is a PHI, go ahead and translate it.<br>
>     if (PHINode *PN = dyn_cast<PHINode>(Inst))<br>
> @@ -272,8 +269,7 @@ Value *PHITransAddr::<wbr>PHITranslateSubExpr<br>
>           isNSW = isNUW = false;<br>
><br>
>           // If the old 'LHS' was an input, add the new 'LHS' as an input.<br>
> -          if (std::find(InstInputs.begin(), InstInputs.end(), BOp) !=<br>
> -              InstInputs.end()) {<br>
> +          if (is_contained(InstInputs, BOp)) {<br>
>             RemoveInstInputs(BOp, InstInputs);<br>
>             AddAsInput(LHS);<br>
>           }<br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>AllocationOrder.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AllocationOrder.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/AllocationOrder.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>AllocationOrder.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>AllocationOrder.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -48,7 +48,7 @@ AllocationOrder::<wbr>AllocationOrder(unsigne<br>
>   });<br>
> #ifndef NDEBUG<br>
>   for (unsigned I = 0, E = Hints.size(); I != E; ++I)<br>
> -    assert(std::find(Order.begin()<wbr>, Order.end(), Hints[I]) != Order.end() &&<br>
> +    assert(is_contained(Order, Hints[I]) &&<br>
>            "Target hint is outside allocation order.");<br>
> #endif<br>
> }<br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>AllocationOrder.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AllocationOrder.h?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/AllocationOrder.h?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>AllocationOrder.h (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>AllocationOrder.h Thu Aug 11 17:21:41 2016<br>
> @@ -18,6 +18,7 @@<br>
> #define LLVM_LIB_CODEGEN_<wbr>ALLOCATIONORDER_H<br>
><br>
> #include "llvm/ADT/ArrayRef.h"<br>
> +#include "llvm/ADT/STLExtras.h"<br>
> #include "llvm/MC/MCRegisterInfo.h"<br>
><br>
> namespace llvm {<br>
> @@ -79,9 +80,7 @@ public:<br>
>   bool isHint() const { return Pos <= 0; }<br>
><br>
>   /// Return true if PhysReg is a preferred register.<br>
> -  bool isHint(unsigned PhysReg) const {<br>
> -    return std::find(Hints.begin(), Hints.end(), PhysReg) != Hints.end();<br>
> -  }<br>
> +  bool isHint(unsigned PhysReg) const { return is_contained(Hints, PhysReg); }<br>
> };<br>
><br>
> } // end namespace llvm<br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>AsmPrinter/<wbr>DbgValueHistoryCalculator.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/AsmPrinter/<wbr>DbgValueHistoryCalculator.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>AsmPrinter/<wbr>DbgValueHistoryCalculator.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>AsmPrinter/<wbr>DbgValueHistoryCalculator.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -83,7 +83,7 @@ static void dropRegDescribedVar(RegDescr<br>
>   const auto &I = RegVars.find(RegNo);<br>
>   assert(RegNo != 0U && I != RegVars.end());<br>
>   auto &VarSet = I->second;<br>
> -  const auto &VarPos = std::find(VarSet.begin(), VarSet.end(), Var);<br>
> +  const auto &VarPos = find(VarSet, Var);<br>
>   assert(VarPos != VarSet.end());<br>
>   VarSet.erase(VarPos);<br>
>   // Don't keep empty sets in a map to keep it as small as possible.<br>
> @@ -96,7 +96,7 @@ static void addRegDescribedVar(RegDescri<br>
>                                InlinedVariable Var) {<br>
>   assert(RegNo != 0U);<br>
>   auto &VarSet = RegVars[RegNo];<br>
> -  assert(std::find(VarSet.begin(<wbr>), VarSet.end(), Var) == VarSet.end());<br>
> +  assert(!is_contained(VarSet, Var));<br>
>   VarSet.push_back(Var);<br>
> }<br>
><br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>AsmPrinter/OcamlGCPrinter.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/AsmPrinter/<wbr>OcamlGCPrinter.cpp?rev=278433&<wbr>r1=278432&r2=278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>AsmPrinter/OcamlGCPrinter.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>AsmPrinter/OcamlGCPrinter.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -50,7 +50,7 @@ static void EmitCamlGlobal(const Module<br>
>   std::string SymName;<br>
>   SymName += "caml";<br>
>   size_t Letter = SymName.size();<br>
> -  SymName.append(MId.begin(), std::find(MId.begin(), MId.end(), '.'));<br>
> +  SymName.append(MId.begin(), find(MId, '.'));<br>
>   SymName += "__";<br>
>   SymName += Id;<br>
><br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>CodeGenPrepare.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/CodeGenPrepare.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/CodeGenPrepare.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>CodeGenPrepare.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>CodeGenPrepare.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -3665,8 +3665,7 @@ isProfitableToFoldIntoAddressi<wbr>ngMode(Ins<br>
>     TPT.rollback(LastKnownGood);<br>
><br>
>     // If the match didn't cover I, then it won't be shared by it.<br>
> -    if (std::find(<wbr>MatchedAddrModeInsts.begin(), MatchedAddrModeInsts.end(),<br>
> -                  I) == MatchedAddrModeInsts.end())<br>
> +    if (!is_contained(<wbr>MatchedAddrModeInsts, I))<br>
>       return false;<br>
><br>
>     MatchedAddrModeInsts.clear();<br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>LatencyPriorityQueue.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LatencyPriorityQueue.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/LatencyPriorityQueue.<wbr>cpp?rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>LatencyPriorityQueue.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>LatencyPriorityQueue.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -133,7 +133,7 @@ SUnit *LatencyPriorityQueue::pop() {<br>
><br>
> void LatencyPriorityQueue::remove(<wbr>SUnit *SU) {<br>
>   assert(!Queue.empty() && "Queue is empty!");<br>
> -  std::vector<SUnit *>::iterator I = std::find(Queue.begin(), Queue.end(), SU);<br>
> +  std::vector<SUnit *>::iterator I = find(Queue, SU);<br>
>   if (I != std::prev(Queue.end()))<br>
>     std::swap(*I, Queue.back());<br>
>   Queue.pop_back();<br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>LiveIntervalUnion.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LiveIntervalUnion.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/LiveIntervalUnion.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>LiveIntervalUnion.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>LiveIntervalUnion.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -14,6 +14,7 @@<br>
> //===-------------------------<wbr>------------------------------<wbr>---------------===//<br>
><br>
> #include "llvm/CodeGen/<wbr>LiveIntervalUnion.h"<br>
> +#include "llvm/ADT/STLExtras.h"<br>
> #include "llvm/ADT/SparseBitVector.h"<br>
> #include "llvm/Support/Debug.h"<br>
> #include "llvm/Support/raw_ostream.h"<br>
> @@ -102,9 +103,7 @@ void LiveIntervalUnion::verify(<wbr>LiveVirtR<br>
> // Scan the vector of interfering virtual registers in this union. Assume it's<br>
> // quite small.<br>
> bool LiveIntervalUnion::Query::<wbr>isSeenInterference(<wbr>LiveInterval *VirtReg) const {<br>
> -  SmallVectorImpl<LiveInterval*><wbr>::const_iterator I =<br>
> -    std::find(InterferingVRegs.<wbr>begin(), InterferingVRegs.end(), VirtReg);<br>
> -  return I != InterferingVRegs.end();<br>
> +  return is_contained(InterferingVRegs, VirtReg);<br>
> }<br>
><br>
> // Collect virtual registers in this union that interfere with this<br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>MachineBasicBlock.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineBasicBlock.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/MachineBasicBlock.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>MachineBasicBlock.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>MachineBasicBlock.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -545,7 +545,7 @@ void MachineBasicBlock::<wbr>addSuccessorWith<br>
><br>
> void MachineBasicBlock::<wbr>removeSuccessor(<wbr>MachineBasicBlock *Succ,<br>
>                                         bool NormalizeSuccProbs) {<br>
> -  succ_iterator I = std::find(Successors.begin(), Successors.end(), Succ);<br>
> +  succ_iterator I = find(Successors, Succ);<br>
>   removeSuccessor(I, NormalizeSuccProbs);<br>
> }<br>
><br>
> @@ -611,7 +611,7 @@ void MachineBasicBlock::<wbr>addPredecessor(M<br>
> }<br>
><br>
> void MachineBasicBlock::<wbr>removePredecessor(<wbr>MachineBasicBlock *Pred) {<br>
> -  pred_iterator I = std::find(Predecessors.begin()<wbr>, Predecessors.end(), Pred);<br>
> +  pred_iterator I = find(Predecessors, Pred);<br>
>   assert(I != Predecessors.end() && "Pred is not a predecessor of this block!");<br>
>   Predecessors.erase(I);<br>
> }<br>
> @@ -775,7 +775,7 @@ MachineBasicBlock *MachineBasicBlock::Sp<br>
>           continue;<br>
><br>
>         unsigned Reg = OI->getReg();<br>
> -        if (std::find(UsedRegs.begin(), UsedRegs.end(), Reg) == UsedRegs.end())<br>
> +        if (!is_contained(UsedRegs, Reg))<br>
>           UsedRegs.push_back(Reg);<br>
>       }<br>
>     }<br>
> @@ -802,9 +802,8 @@ MachineBasicBlock *MachineBasicBlock::Sp<br>
><br>
>     for (SmallVectorImpl<MachineInstr*<wbr>>::iterator I = Terminators.begin(),<br>
>         E = Terminators.end(); I != E; ++I) {<br>
> -      if (std::find(NewTerminators.<wbr>begin(), NewTerminators.end(), *I) ==<br>
> -          NewTerminators.end())<br>
> -       Indexes-><wbr>removeMachineInstrFromMaps(**<wbr>I);<br>
> +      if (!is_contained(NewTerminators, *I))<br>
> +        Indexes-><wbr>removeMachineInstrFromMaps(**<wbr>I);<br>
>     }<br>
>   }<br>
><br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>MachineBlockPlacement.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineBlockPlacement.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/MachineBlockPlacement.<wbr>cpp?rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>MachineBlockPlacement.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>MachineBlockPlacement.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -1166,8 +1166,7 @@ void MachineBlockPlacement::<wbr>rotateLoop(B<br>
>     }<br>
>   }<br>
><br>
> -  BlockChain::iterator ExitIt =<br>
> -      std::find(LoopChain.begin(), LoopChain.end(), ExitingBB);<br>
> +  BlockChain::iterator ExitIt = find(LoopChain, ExitingBB);<br>
>   if (ExitIt == LoopChain.end())<br>
>     return;<br>
><br>
> @@ -1190,7 +1189,7 @@ void MachineBlockPlacement::<wbr>rotateLoop(B<br>
> void MachineBlockPlacement::<wbr>rotateLoopWithProfile(<br>
>     BlockChain &LoopChain, MachineLoop &L, const BlockFilterSet &LoopBlockSet) {<br>
>   auto HeaderBB = L.getHeader();<br>
> -  auto HeaderIter = std::find(LoopChain.begin(), LoopChain.end(), HeaderBB);<br>
> +  auto HeaderIter = find(LoopChain, HeaderBB);<br>
>   auto RotationPos = LoopChain.end();<br>
><br>
>   BlockFrequency SmallestRotationCost = BlockFrequency::<wbr>getMaxFrequency();<br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>MachineCopyPropagation.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineCopyPropagation.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/<wbr>MachineCopyPropagation.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>MachineCopyPropagation.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>MachineCopyPropagation.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -245,7 +245,7 @@ void MachineCopyPropagation::<wbr>CopyPropaga<br>
>       // Remember source that's copied to Def. Once it's clobbered, then<br>
>       // it's no longer available for copy propagation.<br>
>       RegList &DestList = SrcMap[Src];<br>
> -      if (std::find(DestList.begin(), DestList.end(), Def) == DestList.end())<br>
> +      if (!is_contained(DestList, Def))<br>
>         DestList.push_back(Def);<br>
><br>
>       continue;<br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>MachineLICM.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineLICM.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/MachineLICM.cpp?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>MachineLICM.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>MachineLICM.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -92,8 +92,7 @@ namespace {<br>
>     SmallVector<MachineBasicBlock*<wbr>, 8> ExitBlocks;<br>
><br>
>     bool isExitBlock(const MachineBasicBlock *MBB) const {<br>
> -      return std::find(ExitBlocks.begin(), ExitBlocks.end(), MBB) !=<br>
> -        ExitBlocks.end();<br>
> +      return is_contained(ExitBlocks, MBB);<br>
>     }<br>
><br>
>     // Track 'estimated' register pressure.<br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>MachineVerifier.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineVerifier.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/MachineVerifier.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>MachineVerifier.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>MachineVerifier.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -1238,7 +1238,7 @@ void MachineVerifier::<wbr>checkLiveness(cons<br>
>     if (LiveVars && TargetRegisterInfo::<wbr>isVirtualRegister(Reg) &&<br>
>         MO->isKill()) {<br>
>       LiveVariables::VarInfo &VI = LiveVars->getVarInfo(Reg);<br>
> -      if (std::find(VI.Kills.begin(), VI.Kills.end(), MI) == VI.Kills.end())<br>
> +      if (!is_contained(VI.Kills, MI))<br>
>         report("Kill missing from LiveVariables", MO, MONum);<br>
>     }<br>
><br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/DAGCombiner.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/SelectionDAG/<wbr>DAGCombiner.cpp?rev=278433&r1=<wbr>278432&r2=278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/DAGCombiner.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/DAGCombiner.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -1571,8 +1571,7 @@ SDValue DAGCombiner::visitTokenFactor(<wbr>SD<br>
>         break;<br>
><br>
>       case ISD::TokenFactor:<br>
> -        if (Op.hasOneUse() &&<br>
> -            std::find(TFs.begin(), TFs.end(), Op.getNode()) == TFs.end()) {<br>
> +        if (Op.hasOneUse() && !is_contained(TFs, Op.getNode())) {<br>
>           // Queue up for processing.<br>
>           TFs.push_back(Op.getNode());<br>
>           // Clean up in case the token factor is removed.<br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/<wbr>FunctionLoweringInfo.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/SelectionDAG/<wbr>FunctionLoweringInfo.cpp?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/<wbr>FunctionLoweringInfo.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/<wbr>FunctionLoweringInfo.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -599,8 +599,7 @@ void llvm::AddLandingPadInfo(const Landi<br>
> unsigned FunctionLoweringInfo::<wbr>findSwiftErrorVReg(const MachineBasicBlock *MBB,<br>
>                                                   const Value* Val) const {<br>
>   // Find the index in SwiftErrorVals.<br>
> -  SwiftErrorValues::const_<wbr>iterator I =<br>
> -      std::find(SwiftErrorVals.<wbr>begin(), SwiftErrorVals.end(), Val);<br>
> +  SwiftErrorValues::const_<wbr>iterator I = find(SwiftErrorVals, Val);<br>
>   assert(I != SwiftErrorVals.end() && "Can't find value in SwiftErrorVals");<br>
>   return SwiftErrorMap.lookup(MBB)[I - SwiftErrorVals.begin()];<br>
> }<br>
> @@ -608,8 +607,7 @@ unsigned FunctionLoweringInfo::<wbr>findSwift<br>
> void FunctionLoweringInfo::<wbr>setSwiftErrorVReg(const MachineBasicBlock *MBB,<br>
>                                              const Value* Val, unsigned VReg) {<br>
>   // Find the index in SwiftErrorVals.<br>
> -  SwiftErrorValues::iterator I =<br>
> -      std::find(SwiftErrorVals.<wbr>begin(), SwiftErrorVals.end(), Val);<br>
> +  SwiftErrorValues::iterator I = find(SwiftErrorVals, Val);<br>
>   assert(I != SwiftErrorVals.end() && "Can't find value in SwiftErrorVals");<br>
>   SwiftErrorMap[MBB][I - SwiftErrorVals.begin()] = VReg;<br>
> }<br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/<wbr>ResourcePriorityQueue.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/SelectionDAG/<wbr>ResourcePriorityQueue.cpp?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/<wbr>ResourcePriorityQueue.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/<wbr>ResourcePriorityQueue.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -631,7 +631,7 @@ SUnit *ResourcePriorityQueue::pop() {<br>
><br>
> void ResourcePriorityQueue::remove(<wbr>SUnit *SU) {<br>
>   assert(!Queue.empty() && "Queue is empty!");<br>
> -  std::vector<SUnit *>::iterator I = std::find(Queue.begin(), Queue.end(), SU);<br>
> +  std::vector<SUnit *>::iterator I = find(Queue, SU);<br>
>   if (I != std::prev(Queue.end()))<br>
>     std::swap(*I, Queue.back());<br>
><br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/<wbr>ScheduleDAGRRList.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/SelectionDAG/<wbr>ScheduleDAGRRList.cpp?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/<wbr>ScheduleDAGRRList.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/<wbr>ScheduleDAGRRList.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -1339,7 +1339,7 @@ void ScheduleDAGRRList::<wbr>releaseInterfere<br>
>     LRegsMapT::iterator LRegsPos = LRegsMap.find(SU);<br>
>     if (Reg) {<br>
>       SmallVectorImpl<unsigned> &LRegs = LRegsPos->second;<br>
> -      if (std::find(LRegs.begin(), LRegs.end(), Reg) == LRegs.end())<br>
> +      if (!is_contained(LRegs, Reg))<br>
>         continue;<br>
>     }<br>
>     SU->isPending = false;<br>
> @@ -1704,8 +1704,7 @@ public:<br>
>   void remove(SUnit *SU) override {<br>
>     assert(!Queue.empty() && "Queue is empty!");<br>
>     assert(SU->NodeQueueId != 0 && "Not in queue!");<br>
> -    std::vector<SUnit *>::iterator I = std::find(Queue.begin(), Queue.end(),<br>
> -                                                 SU);<br>
> +    std::vector<SUnit *>::iterator I = find(Queue, SU);<br>
>     if (I != std::prev(Queue.end()))<br>
>       std::swap(*I, Queue.back());<br>
>     Queue.pop_back();<br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/SelectionDAGISel.<wbr>cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/SelectionDAG/<wbr>SelectionDAGISel.cpp?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/SelectionDAGISel.<wbr>cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>SelectionDAG/SelectionDAGISel.<wbr>cpp Thu Aug 11 17:21:41 2016<br>
> @@ -3388,7 +3388,7 @@ void SelectionDAGISel::<wbr>SelectCodeCommon(<br>
>         SelectionDAG::<wbr>DAGNodeDeletedListener NDL(*CurDAG, [&](SDNode *N,<br>
>                                                               SDNode *E) {<br>
>           auto &Chain = ChainNodesMatched;<br>
> -          assert((!E || llvm::find(Chain, N) == Chain.end()) &&<br>
> +          assert((!E || !is_contained(Chain, N)) &&<br>
>                  "Chain node replaced during MorphNode");<br>
>           Chain.erase(std::remove(Chain.<wbr>begin(), Chain.end(), N), Chain.end());<br>
>         });<br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>TailDuplicator.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/TailDuplicator.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/TailDuplicator.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>TailDuplicator.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>TailDuplicator.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -900,7 +900,7 @@ bool TailDuplicator::tailDuplicate(<wbr>Machi<br>
>                                                         PE = Preds.end();<br>
>        PI != PE; ++PI) {<br>
>     MachineBasicBlock *PredBB = *PI;<br>
> -    if (std::find(TDBBs.begin(), TDBBs.end(), PredBB) != TDBBs.end())<br>
> +    if (is_contained(TDBBs, PredBB))<br>
>       continue;<br>
><br>
>     // EH edges<br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>TargetInstrInfo.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/TargetInstrInfo.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/TargetInstrInfo.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>TargetInstrInfo.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>TargetInstrInfo.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -467,7 +467,7 @@ static MachineInstr *foldPatchpoint(Mach<br>
><br>
>   for (unsigned i = StartIdx; i < MI.getNumOperands(); ++i) {<br>
>     MachineOperand &MO = MI.getOperand(i);<br>
> -    if (std::find(Ops.begin(), Ops.end(), i) != Ops.end()) {<br>
> +    if (is_contained(Ops, i)) {<br>
>       unsigned SpillSize;<br>
>       unsigned SpillOffset;<br>
>       // Compute the spill slot size and offset.<br>
><br>
> Modified: llvm/trunk/lib/CodeGen/<wbr>TargetRegisterInfo.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/TargetRegisterInfo.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>CodeGen/TargetRegisterInfo.<wbr>cpp?rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/CodeGen/<wbr>TargetRegisterInfo.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/<wbr>TargetRegisterInfo.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -354,7 +354,7 @@ TargetRegisterInfo::<wbr>getRegAllocationHint<br>
>   // Check that Phys is in the allocation order. We shouldn't heed hints<br>
>   // from VirtReg's register class if they aren't in the allocation order. The<br>
>   // target probably has a reason for removing the register.<br>
> -  if (std::find(Order.begin(), Order.end(), Phys) == Order.end())<br>
> +  if (!is_contained(Order, Phys))<br>
>     return;<br>
><br>
>   // All clear, tell the register allocator to prefer this register.<br>
><br>
> Modified: llvm/trunk/lib/IR/<wbr>LegacyPassManager.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/LegacyPassManager.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/IR/<wbr>LegacyPassManager.cpp?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/IR/<wbr>LegacyPassManager.cpp (original)<br>
> +++ llvm/trunk/lib/IR/<wbr>LegacyPassManager.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -841,9 +841,7 @@ bool PMDataManager::<wbr>preserveHigherLevelA<br>
>          E = HigherLevelAnalysis.end(); I  != E; ++I) {<br>
>     Pass *P1 = *I;<br>
>     if (P1->getAsImmutablePass() == nullptr &&<br>
> -        std::find(PreservedSet.begin()<wbr>, PreservedSet.end(),<br>
> -                  P1->getPassID()) ==<br>
> -           PreservedSet.end())<br>
> +        !is_contained(PreservedSet, P1->getPassID()))<br>
>       return false;<br>
>   }<br>
><br>
> @@ -881,8 +879,7 @@ void PMDataManager::<wbr>removeNotPreservedAn<br>
>          E = AvailableAnalysis.end(); I != E; ) {<br>
>     DenseMap<AnalysisID, Pass*>::iterator Info = I++;<br>
>     if (Info->second-><wbr>getAsImmutablePass() == nullptr &&<br>
> -        std::find(PreservedSet.begin()<wbr>, PreservedSet.end(), Info->first) ==<br>
> -        PreservedSet.end()) {<br>
> +        !is_contained(PreservedSet, Info->first)) {<br>
>       // Remove this analysis<br>
>       if (PassDebugging >= Details) {<br>
>         Pass *S = Info->second;<br>
> @@ -905,8 +902,7 @@ void PMDataManager::<wbr>removeNotPreservedAn<br>
>            E = InheritedAnalysis[Index]->end(<wbr>); I != E; ) {<br>
>       DenseMap<AnalysisID, Pass *>::iterator Info = I++;<br>
>       if (Info->second-><wbr>getAsImmutablePass() == nullptr &&<br>
> -          std::find(PreservedSet.begin()<wbr>, PreservedSet.end(), Info->first) ==<br>
> -             PreservedSet.end()) {<br>
> +          !is_contained(PreservedSet, Info->first)) {<br>
>         // Remove this analysis<br>
>         if (PassDebugging >= Details) {<br>
>           Pass *S = Info->second;<br>
><br>
> Modified: llvm/trunk/lib/IR/<wbr>PassRegistry.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/PassRegistry.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/IR/<wbr>PassRegistry.cpp?rev=278433&<wbr>r1=278432&r2=278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/IR/<wbr>PassRegistry.cpp (original)<br>
> +++ llvm/trunk/lib/IR/<wbr>PassRegistry.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -13,6 +13,7 @@<br>
> //===-------------------------<wbr>------------------------------<wbr>---------------===//<br>
><br>
> #include "llvm/PassRegistry.h"<br>
> +#include "llvm/ADT/STLExtras.h"<br>
> #include "llvm/PassSupport.h"<br>
> #include "llvm/Support/ManagedStatic.h"<br>
><br>
> @@ -121,6 +122,6 @@ void PassRegistry::<wbr>addRegistrationListen<br>
> void PassRegistry::<wbr>removeRegistrationListener(<wbr>PassRegistrationListener *L) {<br>
>   sys::SmartScopedWriter<true> Guard(Lock);<br>
><br>
> -  auto I = std::find(Listeners.begin(), Listeners.end(), L);<br>
> +  auto I = find(Listeners, L);<br>
>   Listeners.erase(I);<br>
> }<br>
><br>
> Modified: llvm/trunk/lib/Option/<wbr>OptTable.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Option/OptTable.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Option/<wbr>OptTable.cpp?rev=278433&r1=<wbr>278432&r2=278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Option/<wbr>OptTable.cpp (original)<br>
> +++ llvm/trunk/lib/Option/<wbr>OptTable.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -8,6 +8,7 @@<br>
> //===-------------------------<wbr>------------------------------<wbr>---------------===//<br>
><br>
> #include "llvm/Option/OptTable.h"<br>
> +#include "llvm/ADT/STLExtras.h"<br>
> #include "llvm/Option/Arg.h"<br>
> #include "llvm/Option/ArgList.h"<br>
> #include "llvm/Option/Option.h"<br>
> @@ -142,8 +143,7 @@ OptTable::OptTable(ArrayRef<<wbr>Info> Option<br>
>     StringRef Prefix = I->getKey();<br>
>     for (StringRef::const_iterator C = Prefix.begin(), CE = Prefix.end();<br>
>                                    C != CE; ++C)<br>
> -      if (std::find(PrefixChars.begin()<wbr>, PrefixChars.end(), *C)<br>
> -            == PrefixChars.end())<br>
> +      if (!is_contained(PrefixChars, *C))<br>
>         PrefixChars.push_back(*C);<br>
>   }<br>
> }<br>
><br>
> Modified: llvm/trunk/lib/Support/<wbr>CommandLine.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/CommandLine.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Support/CommandLine.cpp?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Support/<wbr>CommandLine.cpp (original)<br>
> +++ llvm/trunk/lib/Support/<wbr>CommandLine.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -2101,7 +2101,7 @@ void cl::AddExtraVersionPrinter(<wbr>void (*f<br>
> StringMap<Option *> &cl::getRegisteredOptions(<wbr>SubCommand &Sub) {<br>
>   auto &Subs = GlobalParser-><wbr>RegisteredSubCommands;<br>
>   (void)Subs;<br>
> -  assert(std::find(Subs.begin(), Subs.end(), &Sub) != Subs.end());<br>
> +  assert(is_contained(Subs, &Sub));<br>
>   return Sub.OptionsMap;<br>
> }<br>
><br>
><br>
> Modified: llvm/trunk/lib/Support/<wbr>YAMLParser.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/YAMLParser.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Support/YAMLParser.cpp?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Support/<wbr>YAMLParser.cpp (original)<br>
> +++ llvm/trunk/lib/Support/<wbr>YAMLParser.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -12,6 +12,7 @@<br>
> //===-------------------------<wbr>------------------------------<wbr>---------------===//<br>
><br>
> #include "llvm/Support/YAMLParser.h"<br>
> +#include "llvm/ADT/STLExtras.h"<br>
> #include "llvm/ADT/SmallString.h"<br>
> #include "llvm/ADT/SmallVector.h"<br>
> #include "llvm/ADT/StringExtras.h"<br>
> @@ -802,8 +803,7 @@ Token &Scanner::peekNext() {<br>
>     removeStaleSimpleKeyCandidates<wbr>();<br>
>     SimpleKey SK;<br>
>     SK.Tok = TokenQueue.begin();<br>
> -    if (std::find(SimpleKeys.begin(), SimpleKeys.end(), SK)<br>
> -        == SimpleKeys.end())<br>
> +    if (!is_contained(SimpleKeys, SK))<br>
>       break;<br>
>     else<br>
>       NeedMore = true;<br>
><br>
> Modified: llvm/trunk/lib/Target/AArch64/<wbr>AArch64ISelLowering.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64ISelLowering.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>AArch64/AArch64ISelLowering.<wbr>cpp?rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Target/AArch64/<wbr>AArch64ISelLowering.cpp (original)<br>
> +++ llvm/trunk/lib/Target/AArch64/<wbr>AArch64ISelLowering.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -4976,7 +4976,7 @@ SDValue AArch64TargetLowering::<wbr>Reconstru<br>
><br>
>     // Add this element source to the list if it's not already there.<br>
>     SDValue SourceVec = V.getOperand(0);<br>
> -    auto Source = std::find(Sources.begin(), Sources.end(), SourceVec);<br>
> +    auto Source = find(Sources, SourceVec);<br>
>     if (Source == Sources.end())<br>
>       Source = Sources.insert(Sources.end(), ShuffleSourceInfo(SourceVec));<br>
><br>
> @@ -5092,7 +5092,7 @@ SDValue AArch64TargetLowering::<wbr>Reconstru<br>
>     if (Entry.isUndef())<br>
>       continue;<br>
><br>
> -    auto Src = std::find(Sources.begin(), Sources.end(), Entry.getOperand(0));<br>
> +    auto Src = find(Sources, Entry.getOperand(0));<br>
>     int EltNo = cast<ConstantSDNode>(Entry.<wbr>getOperand(1))->getSExtValue()<wbr>;<br>
><br>
>     // EXTRACT_VECTOR_ELT performs an implicit any_ext; BUILD_VECTOR an implicit<br>
><br>
> Modified: llvm/trunk/lib/Target/AMDGPU/<wbr>AMDGPUPromoteAlloca.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>AMDGPU/AMDGPUPromoteAlloca.<wbr>cpp?rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Target/AMDGPU/<wbr>AMDGPUPromoteAlloca.cpp (original)<br>
> +++ llvm/trunk/lib/Target/AMDGPU/<wbr>AMDGPUPromoteAlloca.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -535,7 +535,7 @@ bool AMDGPUPromoteAlloca::<wbr>collectUsesWit<br>
>   std::vector<Value*> &WorkList) const {<br>
><br>
>   for (User *User : Val->users()) {<br>
> -    if (std::find(WorkList.begin(), WorkList.end(), User) != WorkList.end())<br>
> +    if (is_contained(WorkList, User))<br>
>       continue;<br>
><br>
>     if (CallInst *CI = dyn_cast<CallInst>(User)) {<br>
><br>
> Modified: llvm/trunk/lib/Target/AMDGPU/<wbr>R600OptimizeVectorRegisters.<wbr>cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>AMDGPU/<wbr>R600OptimizeVectorRegisters.<wbr>cpp?rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Target/AMDGPU/<wbr>R600OptimizeVectorRegisters.<wbr>cpp (original)<br>
> +++ llvm/trunk/lib/Target/AMDGPU/<wbr>R600OptimizeVectorRegisters.<wbr>cpp Thu Aug 11 17:21:41 2016<br>
> @@ -200,12 +200,10 @@ MachineInstr *R600VectorRegMerger::Rebui<br>
>         .addReg(SubReg)<br>
>         .addImm(Chan);<br>
>     UpdatedRegToChan[SubReg] = Chan;<br>
> -    std::vector<unsigned>::<wbr>iterator ChanPos =<br>
> -        std::find(UpdatedUndef.begin()<wbr>, UpdatedUndef.end(), Chan);<br>
> +    std::vector<unsigned>::<wbr>iterator ChanPos = find(UpdatedUndef, Chan);<br>
>     if (ChanPos != UpdatedUndef.end())<br>
>       UpdatedUndef.erase(ChanPos);<br>
> -    assert(std::find(UpdatedUndef.<wbr>begin(), UpdatedUndef.end(), Chan) ==<br>
> -               UpdatedUndef.end() &&<br>
> +    assert(!is_contained(<wbr>UpdatedUndef, Chan) &&<br>
>            "UpdatedUndef shouldn't contain Chan more than once!");<br>
>     DEBUG(dbgs() << "    ->"; Tmp->dump(););<br>
>     (void)Tmp;<br>
> @@ -236,12 +234,12 @@ void R600VectorRegMerger::RemoveMI(<wbr>Machi<br>
>   for (InstructionSetMap::iterator It = PreviousRegSeqByReg.begin(),<br>
>       E = PreviousRegSeqByReg.end(); It != E; ++It) {<br>
>     std::vector<MachineInstr *> &MIs = (*It).second;<br>
> -    MIs.erase(std::find(MIs.begin(<wbr>), MIs.end(), MI), MIs.end());<br>
> +    MIs.erase(find(MIs, MI), MIs.end());<br>
>   }<br>
>   for (InstructionSetMap::iterator It = PreviousRegSeqByUndefCount.<wbr>begin(),<br>
>       E = PreviousRegSeqByUndefCount.<wbr>end(); It != E; ++It) {<br>
>     std::vector<MachineInstr *> &MIs = (*It).second;<br>
> -    MIs.erase(std::find(MIs.begin(<wbr>), MIs.end(), MI), MIs.end());<br>
> +    MIs.erase(find(MIs, MI), MIs.end());<br>
>   }<br>
> }<br>
><br>
><br>
> Modified: llvm/trunk/lib/Target/AMDGPU/<wbr>SIAnnotateControlFlow.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>AMDGPU/SIAnnotateControlFlow.<wbr>cpp?rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Target/AMDGPU/<wbr>SIAnnotateControlFlow.cpp (original)<br>
> +++ llvm/trunk/lib/Target/AMDGPU/<wbr>SIAnnotateControlFlow.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -363,7 +363,7 @@ void SIAnnotateControlFlow::<wbr>closeControl<br>
><br>
>     std::vector<BasicBlock*> Preds;<br>
>     for (pred_iterator PI = pred_begin(BB), PE = pred_end(BB); PI != PE; ++PI) {<br>
> -      if (std::find(Latches.begin(), Latches.end(), *PI) == Latches.end())<br>
> +      if (!is_contained(Latches, *PI))<br>
>         Preds.push_back(*PI);<br>
>     }<br>
>     BB = llvm::SplitBlockPredecessors(<wbr>BB, Preds, "endcf.split", DT, LI, false);<br>
><br>
> Modified: llvm/trunk/lib/Target/AMDGPU/<wbr>SIMachineScheduler.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/SIMachineScheduler.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>AMDGPU/SIMachineScheduler.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Target/AMDGPU/<wbr>SIMachineScheduler.cpp (original)<br>
> +++ llvm/trunk/lib/Target/AMDGPU/<wbr>SIMachineScheduler.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -479,8 +479,7 @@ void SIScheduleBlock::<wbr>releaseSuccessors(<br>
> void SIScheduleBlock::<wbr>nodeScheduled(SUnit *SU) {<br>
>   // Is in TopReadySUs<br>
>   assert (!SU->NumPredsLeft);<br>
> -  std::vector<SUnit*>::iterator I =<br>
> -    std::find(TopReadySUs.begin(), TopReadySUs.end(), SU);<br>
> +  std::vector<SUnit *>::iterator I = find(TopReadySUs, SU);<br>
>   if (I == TopReadySUs.end()) {<br>
>     dbgs() << "Data Structure Bug in SI Scheduler\n";<br>
>     llvm_unreachable(nullptr);<br>
><br>
> Modified: llvm/trunk/lib/Target/ARM/<wbr>ARMBaseRegisterInfo.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMBaseRegisterInfo.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>ARM/ARMBaseRegisterInfo.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Target/ARM/<wbr>ARMBaseRegisterInfo.cpp (original)<br>
> +++ llvm/trunk/lib/Target/ARM/<wbr>ARMBaseRegisterInfo.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -289,8 +289,7 @@ ARMBaseRegisterInfo::<wbr>getRegAllocationHin<br>
>   }<br>
><br>
>   // First prefer the paired physreg.<br>
> -  if (PairedPhys &&<br>
> -      std::find(Order.begin(), Order.end(), PairedPhys) != Order.end())<br>
> +  if (PairedPhys && is_contained(Order, PairedPhys))<br>
>     Hints.push_back(PairedPhys);<br>
><br>
>   // Then prefer even or odd registers.<br>
><br>
> Modified: llvm/trunk/lib/Target/ARM/<wbr>ARMConstantIslandPass.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMConstantIslandPass.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>ARM/ARMConstantIslandPass.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Target/ARM/<wbr>ARMConstantIslandPass.cpp (original)<br>
> +++ llvm/trunk/lib/Target/ARM/<wbr>ARMConstantIslandPass.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -1432,7 +1432,7 @@ bool ARMConstantIslands::<wbr>handleConstantP<br>
>     // it.  Check for this so it will be removed from the WaterList.<br>
>     // Also remove any entry from NewWaterList.<br>
>     MachineBasicBlock *WaterBB = &*--NewMBB->getIterator();<br>
> -    IP = std::find(WaterList.begin(), WaterList.end(), WaterBB);<br>
> +    IP = find(WaterList, WaterBB);<br>
>     if (IP != WaterList.end())<br>
>       NewWaterList.erase(WaterBB);<br>
><br>
><br>
> Modified: llvm/trunk/lib/Target/ARM/<wbr>ARMFrameLowering.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMFrameLowering.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>ARM/ARMFrameLowering.cpp?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Target/ARM/<wbr>ARMFrameLowering.cpp (original)<br>
> +++ llvm/trunk/lib/Target/ARM/<wbr>ARMFrameLowering.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -1640,8 +1640,7 @@ void ARMFrameLowering::<wbr>determineCalleeSa<br>
>       SavedRegs.set(ARM::LR);<br>
>       NumGPRSpills++;<br>
>       SmallVectorImpl<unsigned>::<wbr>iterator LRPos;<br>
> -      LRPos = std::find(UnspilledCS1GPRs.<wbr>begin(), UnspilledCS1GPRs.end(),<br>
> -                        (unsigned)ARM::LR);<br>
> +      LRPos = find(UnspilledCS1GPRs, (unsigned)ARM::LR);<br>
>       if (LRPos != UnspilledCS1GPRs.end())<br>
>         UnspilledCS1GPRs.erase(LRPos);<br>
><br>
> @@ -1651,8 +1650,7 @@ void ARMFrameLowering::<wbr>determineCalleeSa<br>
><br>
>     if (hasFP(MF)) {<br>
>       SavedRegs.set(FramePtr);<br>
> -      auto FPPos = std::find(UnspilledCS1GPRs.<wbr>begin(), UnspilledCS1GPRs.end(),<br>
> -                             FramePtr);<br>
> +      auto FPPos = find(UnspilledCS1GPRs, FramePtr);<br>
>       if (FPPos != UnspilledCS1GPRs.end())<br>
>         UnspilledCS1GPRs.erase(FPPos);<br>
>       NumGPRSpills++;<br>
><br>
> Modified: llvm/trunk/lib/Target/ARM/<wbr>ARMISelLowering.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>ARM/ARMISelLowering.cpp?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Target/ARM/<wbr>ARMISelLowering.cpp (original)<br>
> +++ llvm/trunk/lib/Target/ARM/<wbr>ARMISelLowering.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -5915,7 +5915,7 @@ SDValue ARMTargetLowering::<wbr>ReconstructSh<br>
><br>
>     // Add this element source to the list if it's not already there.<br>
>     SDValue SourceVec = V.getOperand(0);<br>
> -    auto Source = std::find(Sources.begin(), Sources.end(), SourceVec);<br>
> +    auto Source = find(Sources, SourceVec);<br>
>     if (Source == Sources.end())<br>
>       Source = Sources.insert(Sources.end(), ShuffleSourceInfo(SourceVec));<br>
><br>
> @@ -6031,7 +6031,7 @@ SDValue ARMTargetLowering::<wbr>ReconstructSh<br>
>     if (Entry.isUndef())<br>
>       continue;<br>
><br>
> -    auto Src = std::find(Sources.begin(), Sources.end(), Entry.getOperand(0));<br>
> +    auto Src = find(Sources, Entry.getOperand(0));<br>
>     int EltNo = cast<ConstantSDNode>(Entry.<wbr>getOperand(1))->getSExtValue()<wbr>;<br>
><br>
>     // EXTRACT_VECTOR_ELT performs an implicit any_ext; BUILD_VECTOR an implicit<br>
><br>
> Modified: llvm/trunk/lib/Target/ARM/<wbr>ARMLoadStoreOptimizer.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMLoadStoreOptimizer.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>ARM/ARMLoadStoreOptimizer.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Target/ARM/<wbr>ARMLoadStoreOptimizer.cpp (original)<br>
> +++ llvm/trunk/lib/Target/ARM/<wbr>ARMLoadStoreOptimizer.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -834,7 +834,7 @@ MachineInstr *ARMLoadStoreOpt::MergeOpsU<br>
>         assert(MO.isImplicit());<br>
>         unsigned DefReg = MO.getReg();<br>
><br>
> -        if (std::find(ImpDefs.begin(), ImpDefs.end(), DefReg) != ImpDefs.end())<br>
> +        if (is_contained(ImpDefs, DefReg))<br>
>           continue;<br>
>         // We can ignore cases where the super-reg is read and written.<br>
>         if (MI->readsRegister(DefReg))<br>
><br>
> Modified: llvm/trunk/lib/Target/Hexagon/<wbr>HexagonBitSimplify.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/HexagonBitSimplify.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>Hexagon/HexagonBitSimplify.<wbr>cpp?rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Target/Hexagon/<wbr>HexagonBitSimplify.cpp (original)<br>
> +++ llvm/trunk/lib/Target/Hexagon/<wbr>HexagonBitSimplify.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -2665,7 +2665,7 @@ bool HexagonLoopRescheduling::<wbr>processLoo<br>
>           if (UseI->getOperand(Idx+1).<wbr>getMBB() != <a href="http://C.LB" rel="noreferrer" target="_blank">C.LB</a>)<br>
>             BadUse = true;<br>
>         } else {<br>
> -          auto F = std::find(ShufIns.begin(), ShufIns.end(), UseI);<br>
> +          auto F = find(ShufIns, UseI);<br>
>           if (F == ShufIns.end())<br>
>             BadUse = true;<br>
>         }<br>
><br>
> Modified: llvm/trunk/lib/Target/Hexagon/<wbr>HexagonMachineScheduler.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/HexagonMachineScheduler.h?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>Hexagon/<wbr>HexagonMachineScheduler.h?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Target/Hexagon/<wbr>HexagonMachineScheduler.h (original)<br>
> +++ llvm/trunk/lib/Target/Hexagon/<wbr>HexagonMachineScheduler.h Thu Aug 11 17:21:41 2016<br>
> @@ -94,9 +94,7 @@ public:<br>
>   void savePacket();<br>
>   unsigned getTotalPackets() const { return TotalPackets; }<br>
><br>
> -  bool isInPacket(SUnit *SU) const {<br>
> -    return std::find(Packet.begin(), Packet.end(), SU) != Packet.end();<br>
> -  }<br>
> +  bool isInPacket(SUnit *SU) const { return is_contained(Packet, SU); }<br>
> };<br>
><br>
> /// Extend the standard ScheduleDAGMI to provide more context and override the<br>
><br>
> Modified: llvm/trunk/lib/Target/Hexagon/<wbr>HexagonVLIWPacketizer.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>Hexagon/HexagonVLIWPacketizer.<wbr>cpp?rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Target/Hexagon/<wbr>HexagonVLIWPacketizer.cpp (original)<br>
> +++ llvm/trunk/lib/Target/Hexagon/<wbr>HexagonVLIWPacketizer.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -1338,7 +1338,7 @@ bool HexagonPacketizerList::<wbr>isLegalToPac<br>
>       // However, there is no dependence edge between (1)->(3). This results<br>
>       // in all 3 instructions going in the same packet. We ignore dependce<br>
>       // only once to avoid this situation.<br>
> -      auto Itr = std::find(IgnoreDepMIs.begin()<wbr>, IgnoreDepMIs.end(), &J);<br>
> +      auto Itr = find(IgnoreDepMIs, &J);<br>
>       if (Itr != IgnoreDepMIs.end()) {<br>
>         Dependence = true;<br>
>         return false;<br>
><br>
> Modified: llvm/trunk/lib/Target/Mips/<wbr>MipsConstantIslandPass.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsConstantIslandPass.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>Mips/MipsConstantIslandPass.<wbr>cpp?rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Target/Mips/<wbr>MipsConstantIslandPass.cpp (original)<br>
> +++ llvm/trunk/lib/Target/Mips/<wbr>MipsConstantIslandPass.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -1374,7 +1374,7 @@ bool MipsConstantIslands::<wbr>handleConstant<br>
>     // it.  Check for this so it will be removed from the WaterList.<br>
>     // Also remove any entry from NewWaterList.<br>
>     MachineBasicBlock *WaterBB = &*--NewMBB->getIterator();<br>
> -    IP = std::find(WaterList.begin(), WaterList.end(), WaterBB);<br>
> +    IP = find(WaterList, WaterBB);<br>
>     if (IP != WaterList.end())<br>
>       NewWaterList.erase(WaterBB);<br>
><br>
><br>
> Modified: llvm/trunk/lib/Target/NVPTX/<wbr>NVPTXUtilities.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/NVPTX/NVPTXUtilities.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>NVPTX/NVPTXUtilities.cpp?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Target/NVPTX/<wbr>NVPTXUtilities.cpp (original)<br>
> +++ llvm/trunk/lib/Target/NVPTX/<wbr>NVPTXUtilities.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -169,7 +169,7 @@ bool llvm::isSampler(const llvm::Value &<br>
>     if (llvm::findAllNVVMAnnotation(<br>
>             func, llvm::PropertyAnnotationNames[<wbr>llvm::PROPERTY_ISSAMPLER],<br>
>             annot)) {<br>
> -      if (std::find(annot.begin(), annot.end(), arg->getArgNo()) != annot.end())<br>
> +      if (is_contained(annot, arg->getArgNo()))<br>
>         return true;<br>
>     }<br>
>   }<br>
> @@ -184,7 +184,7 @@ bool llvm::isImageReadOnly(const llvm::V<br>
>                                     llvm::PropertyAnnotationNames[<br>
>                                         llvm::PROPERTY_ISREADONLY_<wbr>IMAGE_PARAM],<br>
>                                     annot)) {<br>
> -      if (std::find(annot.begin(), annot.end(), arg->getArgNo()) != annot.end())<br>
> +      if (is_contained(annot, arg->getArgNo()))<br>
>         return true;<br>
>     }<br>
>   }<br>
> @@ -199,7 +199,7 @@ bool llvm::isImageWriteOnly(const llvm::<br>
>                                     llvm::PropertyAnnotationNames[<br>
>                                         llvm::PROPERTY_ISWRITEONLY_<wbr>IMAGE_PARAM],<br>
>                                     annot)) {<br>
> -      if (std::find(annot.begin(), annot.end(), arg->getArgNo()) != annot.end())<br>
> +      if (is_contained(annot, arg->getArgNo()))<br>
>         return true;<br>
>     }<br>
>   }<br>
> @@ -214,7 +214,7 @@ bool llvm::isImageReadWrite(const llvm::<br>
>                                     llvm::PropertyAnnotationNames[<br>
>                                         llvm::PROPERTY_ISREADWRITE_<wbr>IMAGE_PARAM],<br>
>                                     annot)) {<br>
> -      if (std::find(annot.begin(), annot.end(), arg->getArgNo()) != annot.end())<br>
> +      if (is_contained(annot, arg->getArgNo()))<br>
>         return true;<br>
>     }<br>
>   }<br>
><br>
> Modified: llvm/trunk/lib/Target/Sparc/<wbr>LeonPasses.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Sparc/LeonPasses.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>Sparc/LeonPasses.cpp?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Target/Sparc/<wbr>LeonPasses.cpp (original)<br>
> +++ llvm/trunk/lib/Target/Sparc/<wbr>LeonPasses.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -51,8 +51,7 @@ int LEONMachineFunctionPass::<wbr>GetRegIndex<br>
> int LEONMachineFunctionPass::<wbr>getUnusedFPRegister(<wbr>MachineRegisterInfo &MRI) {<br>
>   for (int RegisterIndex = SP::F0; RegisterIndex <= SP::F31; ++RegisterIndex) {<br>
>     if (!MRI.isPhysRegUsed(<wbr>RegisterIndex) &&<br>
> -        !(std::find(UsedRegisters.<wbr>begin(), UsedRegisters.end(),<br>
> -                    RegisterIndex) != UsedRegisters.end())) {<br>
> +        !is_contained(UsedRegisters, RegisterIndex)) {<br>
>       return RegisterIndex;<br>
>     }<br>
>   }<br>
><br>
> Propchange: llvm/trunk/lib/Target/Sparc/<wbr>LeonPasses.cpp<br>
> ------------------------------<wbr>------------------------------<wbr>------------------<br>
> --- svn:executable (original)<br>
> +++ svn:executable (removed)<br>
> @@ -1 +0,0 @@<br>
> -*<br>
><br>
> Modified: llvm/trunk/lib/Target/X86/<wbr>X86ISelLowering.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>X86/X86ISelLowering.cpp?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Target/X86/<wbr>X86ISelLowering.cpp (original)<br>
> +++ llvm/trunk/lib/Target/X86/<wbr>X86ISelLowering.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -9553,18 +9553,15 @@ static SDValue lowerV8I16GeneralSingleIn<br>
>         auto FixFlippedInputs = [&V, &DL, &Mask, &DAG](int PinnedIdx, int DWord,<br>
>                                                        ArrayRef<int> Inputs) {<br>
>           int FixIdx = PinnedIdx ^ 1; // The adjacent slot to the pinned slot.<br>
> -          bool IsFixIdxInput = std::find(Inputs.begin(), Inputs.end(),<br>
> -                                         PinnedIdx ^ 1) != Inputs.end();<br>
> +          bool IsFixIdxInput = is_contained(Inputs, PinnedIdx ^ 1);<br>
>           // Determine whether the free index is in the flipped dword or the<br>
>           // unflipped dword based on where the pinned index is. We use this bit<br>
>           // in an xor to conditionally select the adjacent dword.<br>
>           int FixFreeIdx = 2 * (DWord ^ (PinnedIdx / 2 == DWord));<br>
> -          bool IsFixFreeIdxInput = std::find(Inputs.begin(), Inputs.end(),<br>
> -                                             FixFreeIdx) != Inputs.end();<br>
> +          bool IsFixFreeIdxInput = is_contained(Inputs, FixFreeIdx);<br>
>           if (IsFixIdxInput == IsFixFreeIdxInput)<br>
>             FixFreeIdx += 1;<br>
> -          IsFixFreeIdxInput = std::find(Inputs.begin(), Inputs.end(),<br>
> -                                        FixFreeIdx) != Inputs.end();<br>
> +          IsFixFreeIdxInput = is_contained(Inputs, FixFreeIdx);<br>
>           assert(IsFixIdxInput != IsFixFreeIdxInput &&<br>
>                  "We need to be changing the number of flipped inputs!");<br>
>           int PSHUFHalfMask[] = {0, 1, 2, 3};<br>
><br>
> Modified: llvm/trunk/lib/Transforms/<wbr>Scalar/JumpThreading.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/JumpThreading.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Transforms/Scalar/<wbr>JumpThreading.cpp?rev=278433&<wbr>r1=278432&r2=278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Transforms/<wbr>Scalar/JumpThreading.cpp (original)<br>
> +++ llvm/trunk/lib/Transforms/<wbr>Scalar/JumpThreading.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -1167,8 +1167,7 @@ FindMostPopularDest(BasicBlock *BB,<br>
>     for (unsigned i = 0; ; ++i) {<br>
>       assert(i != TI->getNumSuccessors() && "Didn't find any successor!");<br>
><br>
> -      if (std::find(SamePopularity.<wbr>begin(), SamePopularity.end(),<br>
> -                    TI->getSuccessor(i)) == SamePopularity.end())<br>
> +      if (!is_contained(SamePopularity, TI->getSuccessor(i)))<br>
>         continue;<br>
><br>
>       MostPopularDest = TI->getSuccessor(i);<br>
><br>
> Modified: llvm/trunk/lib/Transforms/<wbr>Scalar/LoopRerollPass.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/LoopRerollPass.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Transforms/Scalar/<wbr>LoopRerollPass.cpp?rev=278433&<wbr>r1=278432&r2=278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Transforms/<wbr>Scalar/LoopRerollPass.cpp (original)<br>
> +++ llvm/trunk/lib/Transforms/<wbr>Scalar/LoopRerollPass.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -878,7 +878,7 @@ findRootsRecursive(Instruction *I, Small<br>
><br>
>   for (User *V : I->users()) {<br>
>     Instruction *I = dyn_cast<Instruction>(V);<br>
> -    if (std::find(LoopIncs.begin(), LoopIncs.end(), I) != LoopIncs.end())<br>
> +    if (is_contained(LoopIncs, I))<br>
>       continue;<br>
><br>
>     if (!I || !isSimpleArithmeticOp(I) ||<br>
> @@ -1088,7 +1088,7 @@ bool LoopReroll::DAGRootTracker::<wbr>isBaseI<br>
><br>
> bool LoopReroll::DAGRootTracker::<wbr>isRootInst(Instruction *I) {<br>
>   for (auto &DRS : RootSets) {<br>
> -    if (std::find(DRS.Roots.begin(), DRS.Roots.end(), I) != DRS.Roots.end())<br>
> +    if (is_contained(DRS.Roots, I))<br>
>       return true;<br>
>   }<br>
>   return false;<br>
><br>
> Modified: llvm/trunk/lib/Transforms/<wbr>Scalar/LoopStrengthReduce.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Transforms/Scalar/<wbr>LoopStrengthReduce.cpp?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Transforms/<wbr>Scalar/LoopStrengthReduce.cpp (original)<br>
> +++ llvm/trunk/lib/Transforms/<wbr>Scalar/LoopStrengthReduce.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -448,8 +448,7 @@ void Formula::deleteBaseReg(const SCEV *<br>
><br>
> /// Test if this formula references the given register.<br>
> bool Formula::referencesReg(const SCEV *S) const {<br>
> -  return S == ScaledReg ||<br>
> -         std::find(BaseRegs.begin(), BaseRegs.end(), S) != BaseRegs.end();<br>
> +  return S == ScaledReg || is_contained(BaseRegs, S);<br>
> }<br>
><br>
> /// Test whether this formula uses registers which are used by uses other than<br>
> @@ -4231,8 +4230,7 @@ void LSRInstance::SolveRecurse(<wbr>SmallVect<br>
>     int NumReqRegsToFind = std::min(F.getNumRegs(), ReqRegs.size());<br>
>     for (const SCEV *Reg : ReqRegs) {<br>
>       if ((F.ScaledReg && F.ScaledReg == Reg) ||<br>
> -          std::find(F.BaseRegs.begin(), F.BaseRegs.end(), Reg) !=<br>
> -          F.BaseRegs.end()) {<br>
> +          is_contained(F.BaseRegs, Reg)) {<br>
>         --NumReqRegsToFind;<br>
>         if (NumReqRegsToFind == 0)<br>
>           break;<br>
><br>
> Modified: llvm/trunk/lib/Transforms/<wbr>Scalar/<wbr>RewriteStatepointsForGC.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Transforms/Scalar/<wbr>RewriteStatepointsForGC.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Transforms/<wbr>Scalar/<wbr>RewriteStatepointsForGC.cpp (original)<br>
> +++ llvm/trunk/lib/Transforms/<wbr>Scalar/<wbr>RewriteStatepointsForGC.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -1154,7 +1154,7 @@ static void CreateGCRelocates(ArrayRef<V<br>
>     return;<br>
><br>
>   auto FindIndex = [](ArrayRef<Value *> LiveVec, Value *Val) {<br>
> -    auto ValIt = std::find(LiveVec.begin(), LiveVec.end(), Val);<br>
> +    auto ValIt = find(LiveVec, Val);<br>
>     assert(ValIt != LiveVec.end() && "Val not found in LiveVec!");<br>
>     size_t Index = std::distance(LiveVec.begin(), ValIt);<br>
>     assert(Index < LiveVec.size() && "Bug in std::find?");<br>
> @@ -1929,8 +1929,7 @@ static void rematerializeLiveValues(Call<br>
>           // Assert that cloned instruction does not use any instructions from<br>
>           // this chain other than LastClonedValue<br>
>           for (auto OpValue : ClonedValue->operand_values()) {<br>
> -            assert(std::find(ChainToBase.<wbr>begin(), ChainToBase.end(), OpValue) ==<br>
> -                       ChainToBase.end() &&<br>
> +            assert(!is_contained(<wbr>ChainToBase, OpValue) &&<br>
>                    "incorrect use in rematerialization chain");<br>
>           }<br>
> #endif<br>
><br>
> Modified: llvm/trunk/lib/Transforms/<wbr>Scalar/StructurizeCFG.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/StructurizeCFG.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Transforms/Scalar/<wbr>StructurizeCFG.cpp?rev=278433&<wbr>r1=278432&r2=278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Transforms/<wbr>Scalar/StructurizeCFG.cpp (original)<br>
> +++ llvm/trunk/lib/Transforms/<wbr>Scalar/StructurizeCFG.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -321,7 +321,7 @@ void StructurizeCFG::orderNodes() {<br>
>     BasicBlock *BB = (*I)->getEntry();<br>
>     unsigned LoopDepth = LI->getLoopDepth(BB);<br>
><br>
> -    if (std::find(Order.begin(), Order.end(), *I) != Order.end())<br>
> +    if (is_contained(Order, *I))<br>
>       continue;<br>
><br>
>     if (LoopDepth < CurrentLoopDepth) {<br>
><br>
> Modified: llvm/trunk/lib/Transforms/<wbr>Utils/Evaluator.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/Evaluator.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Transforms/Utils/Evaluator.<wbr>cpp?rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Transforms/<wbr>Utils/Evaluator.cpp (original)<br>
> +++ llvm/trunk/lib/Transforms/<wbr>Utils/Evaluator.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -537,7 +537,7 @@ bool Evaluator::EvaluateFunction(<wbr>Functio<br>
>                                  const SmallVectorImpl<Constant*> &ActualArgs) {<br>
>   // Check to see if this function is already executing (recursion).  If so,<br>
>   // bail out.  TODO: we might want to accept limited recursion.<br>
> -  if (std::find(CallStack.begin(), CallStack.end(), F) != CallStack.end())<br>
> +  if (is_contained(CallStack, F))<br>
>     return false;<br>
><br>
>   CallStack.push_back(F);<br>
><br>
> Modified: llvm/trunk/lib/Transforms/<wbr>Utils/LCSSA.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/LCSSA.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Transforms/Utils/LCSSA.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Transforms/<wbr>Utils/LCSSA.cpp (original)<br>
> +++ llvm/trunk/lib/Transforms/<wbr>Utils/LCSSA.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -54,7 +54,7 @@ STATISTIC(NumLCSSA, "Number of live out<br>
> /// Return true if the specified block is in the list.<br>
> static bool isExitBlock(BasicBlock *BB,<br>
>                         const SmallVectorImpl<BasicBlock *> &ExitBlocks) {<br>
> -  return find(ExitBlocks, BB) != ExitBlocks.end();<br>
> +  return is_contained(ExitBlocks, BB);<br>
> }<br>
><br>
> /// For every instruction from the worklist, check to see if it has any uses<br>
><br>
> Modified: llvm/trunk/lib/Transforms/<wbr>Utils/SSAUpdater.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/SSAUpdater.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Transforms/Utils/SSAUpdater.<wbr>cpp?rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Transforms/<wbr>Utils/SSAUpdater.cpp (original)<br>
> +++ llvm/trunk/lib/Transforms/<wbr>Utils/SSAUpdater.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -482,5 +482,5 @@ bool<br>
> LoadAndStorePromoter::<wbr>isInstInList(Instruction *I,<br>
>                                    const SmallVectorImpl<Instruction*> &Insts)<br>
>                                    const {<br>
> -  return std::find(Insts.begin(), Insts.end(), I) != Insts.end();<br>
> +  return is_contained(Insts, I);<br>
> }<br>
><br>
> Modified: llvm/trunk/lib/Transforms/<wbr>Vectorize/SLPVectorizer.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Transforms/Vectorize/<wbr>SLPVectorizer.cpp?rev=278433&<wbr>r1=278432&r2=278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/lib/Transforms/<wbr>Vectorize/SLPVectorizer.cpp (original)<br>
> +++ llvm/trunk/lib/Transforms/<wbr>Vectorize/SLPVectorizer.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -954,8 +954,7 @@ void BoUpSLP::buildTree(ArrayRef<<wbr>Value *<br>
>         }<br>
><br>
>         // Ignore users in the user ignore list.<br>
> -        if (std::find(UserIgnoreList.<wbr>begin(), UserIgnoreList.end(), UserInst) !=<br>
> -            UserIgnoreList.end())<br>
> +        if (is_contained(UserIgnoreList, UserInst))<br>
>           continue;<br>
><br>
>         DEBUG(dbgs() << "SLP: Need to extract:" << *U << " from lane " <<<br>
> @@ -2726,8 +2725,7 @@ Value *BoUpSLP::vectorizeTree() {<br>
><br>
>           assert((ScalarToTreeEntry.<wbr>count(U) ||<br>
>                   // It is legal to replace users in the ignorelist by undef.<br>
> -                  (std::find(UserIgnoreList.<wbr>begin(), UserIgnoreList.end(), U) !=<br>
> -                   UserIgnoreList.end())) &&<br>
> +                  is_contained(UserIgnoreList, U)) &&<br>
>                  "Replacing out-of-tree value with undef");<br>
>         }<br>
> #endif<br>
> @@ -2820,7 +2818,7 @@ void BoUpSLP::<wbr>optimizeGatherSequence() {<br>
>         }<br>
>       }<br>
>       if (In) {<br>
> -        assert(std::find(Visited.<wbr>begin(), Visited.end(), In) == Visited.end());<br>
> +        assert(!is_contained(Visited, In));<br>
>         Visited.push_back(In);<br>
>       }<br>
>     }<br>
><br>
> Modified: llvm/trunk/tools/bugpoint/<wbr>CrashDebugger.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/CrashDebugger.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/tools/<wbr>bugpoint/CrashDebugger.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/tools/bugpoint/<wbr>CrashDebugger.cpp (original)<br>
> +++ llvm/trunk/tools/bugpoint/<wbr>CrashDebugger.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -239,9 +239,7 @@ static void RemoveFunctionReferences(Mod<br>
><br>
> bool ReduceCrashingFunctions::<wbr>TestFuncs(std::vector<<wbr>Function*> &Funcs) {<br>
>   // If main isn't present, claim there is no problem.<br>
> -  if (KeepMain && std::find(Funcs.begin(), Funcs.end(),<br>
> -                            BD.getProgram()->getFunction("<wbr>main")) ==<br>
> -                      Funcs.end())<br>
> +  if (KeepMain && !is_contained(Funcs, BD.getProgram()->getFunction("<wbr>main")))<br>
>     return false;<br>
><br>
>   // Clone the program to try hacking it apart...<br>
><br>
> Modified: llvm/trunk/tools/dsymutil/<wbr>MachODebugMapParser.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/dsymutil/MachODebugMapParser.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/tools/<wbr>dsymutil/MachODebugMapParser.<wbr>cpp?rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/tools/dsymutil/<wbr>MachODebugMapParser.cpp (original)<br>
> +++ llvm/trunk/tools/dsymutil/<wbr>MachODebugMapParser.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -285,20 +285,17 @@ void MachODebugMapParser::<wbr>dumpOneBinaryS<br>
> }<br>
><br>
> static bool shouldLinkArch(<wbr>SmallVectorImpl<StringRef> &Archs, StringRef Arch) {<br>
> -  if (Archs.empty() ||<br>
> -      std::find(Archs.begin(), Archs.end(), "all") != Archs.end() ||<br>
> -      std::find(Archs.begin(), Archs.end(), "*") != Archs.end())<br>
> +  if (Archs.empty() || is_contained(Archs, "all") || is_contained(Archs, "*"))<br>
>     return true;<br>
><br>
> -  if (Arch.startswith("arm") && Arch != "arm64" &&<br>
> -      std::find(Archs.begin(), Archs.end(), "arm") != Archs.end())<br>
> +  if (Arch.startswith("arm") && Arch != "arm64" && is_contained(Archs, "arm"))<br>
>     return true;<br>
><br>
>   SmallString<16> ArchName = Arch;<br>
>   if (Arch.startswith("thumb"))<br>
>     ArchName = ("arm" + Arch.substr(5)).str();<br>
><br>
> -  return std::find(Archs.begin(), Archs.end(), ArchName) != Archs.end();<br>
> +  return is_contained(Archs, ArchName);<br>
> }<br>
><br>
> bool MachODebugMapParser::dumpStab(<wbr>) {<br>
><br>
> Modified: llvm/trunk/tools/llvm-ar/llvm-<wbr>ar.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-ar/llvm-ar.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/tools/llvm-<wbr>ar/llvm-ar.cpp?rev=278433&r1=<wbr>278432&r2=278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/tools/llvm-ar/llvm-<wbr>ar.cpp (original)<br>
> +++ llvm/trunk/tools/llvm-ar/llvm-<wbr>ar.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -429,7 +429,7 @@ static void performReadOperation(Archive<br>
>       StringRef Name = NameOrErr.get();<br>
><br>
>       if (Filter) {<br>
> -        auto I = std::find(Members.begin(), Members.end(), Name);<br>
> +        auto I = find(Members, Name);<br>
>         if (I == Members.end())<br>
>           continue;<br>
>         Members.erase(I);<br>
><br>
> Modified: llvm/trunk/unittests/<wbr>ExecutionEngine/MCJIT/<wbr>MCJITTestAPICommon.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ExecutionEngine/MCJIT/MCJITTestAPICommon.h?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/unittests/<wbr>ExecutionEngine/MCJIT/<wbr>MCJITTestAPICommon.h?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/unittests/<wbr>ExecutionEngine/MCJIT/<wbr>MCJITTestAPICommon.h (original)<br>
> +++ llvm/trunk/unittests/<wbr>ExecutionEngine/MCJIT/<wbr>MCJITTestAPICommon.h Thu Aug 11 17:21:41 2016<br>
> @@ -15,6 +15,7 @@<br>
> #ifndef LLVM_UNITTESTS_<wbr>EXECUTIONENGINE_MCJIT_<wbr>MCJITTESTAPICOMMON_H<br>
> #define LLVM_UNITTESTS_<wbr>EXECUTIONENGINE_MCJIT_<wbr>MCJITTESTAPICOMMON_H<br>
><br>
> +#include "llvm/ADT/STLExtras.h"<br>
> #include "llvm/ADT/SmallVector.h"<br>
> #include "llvm/ADT/Triple.h"<br>
> #include "llvm/IR/LegacyPassManager.h"<br>
> @@ -56,13 +57,11 @@ protected:<br>
>   bool ArchSupportsMCJIT() {<br>
>     Triple Host(HostTriple);<br>
>     // If ARCH is not supported, bail<br>
> -    if (std::find(SupportedArchs.<wbr>begin(), SupportedArchs.end(), Host.getArch())<br>
> -        == SupportedArchs.end())<br>
> +    if (!is_contained(SupportedArchs, Host.getArch()))<br>
>       return false;<br>
><br>
>     // If ARCH is supported and has no specific sub-arch support<br>
> -    if (std::find(HasSubArchs.begin()<wbr>, HasSubArchs.end(), Host.getArch())<br>
> -        == HasSubArchs.end())<br>
> +    if (!is_contained(HasSubArchs, Host.getArch()))<br>
>       return true;<br>
><br>
>     // If ARCH has sub-arch support, find it<br>
> @@ -78,12 +77,11 @@ protected:<br>
>   bool OSSupportsMCJIT() {<br>
>     Triple Host(HostTriple);<br>
><br>
> -    if (std::find(<wbr>UnsupportedEnvironments.begin(<wbr>), UnsupportedEnvironments.end(),<br>
> -                  Host.getEnvironment()) != UnsupportedEnvironments.end())<br>
> +    if (find(UnsupportedEnvironments, Host.getEnvironment()) !=<br>
> +        UnsupportedEnvironments.end())<br>
>       return false;<br>
><br>
> -    if (std::find(UnsupportedOSs.<wbr>begin(), UnsupportedOSs.end(), Host.getOS())<br>
> -        == UnsupportedOSs.end())<br>
> +    if (!is_contained(UnsupportedOSs, Host.getOS()))<br>
>       return true;<br>
><br>
>     return false;<br>
><br>
> Modified: llvm/trunk/unittests/Support/<wbr>Path.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Support/Path.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/unittests/<wbr>Support/Path.cpp?rev=278433&<wbr>r1=278432&r2=278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/unittests/Support/<wbr>Path.cpp (original)<br>
> +++ llvm/trunk/unittests/Support/<wbr>Path.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -8,6 +8,7 @@<br>
> //===-------------------------<wbr>------------------------------<wbr>---------------===//<br>
><br>
> #include "llvm/Support/Path.h"<br>
> +#include "llvm/ADT/STLExtras.h"<br>
> #include "llvm/Support/ConvertUTF.h"<br>
> #include "llvm/Support/Errc.h"<br>
> #include "llvm/Support/ErrorHandling.h"<br>
> @@ -677,16 +678,15 @@ TEST_F(FileSystemTest, DirectoryIteratio<br>
>       i.no_push();<br>
>     visited.push_back(path::<wbr>filename(i->path()));<br>
>   }<br>
> -  v_t::const_iterator a0 = std::find(visited.begin(), visited.end(), "a0");<br>
> -  v_t::const_iterator aa1 = std::find(visited.begin(), visited.end(), "aa1");<br>
> -  v_t::const_iterator ab1 = std::find(visited.begin(), visited.end(), "ab1");<br>
> -  v_t::const_iterator dontlookhere = std::find(visited.begin(), visited.end(),<br>
> -                                               "dontlookhere");<br>
> -  v_t::const_iterator da1 = std::find(visited.begin(), visited.end(), "da1");<br>
> -  v_t::const_iterator z0 = std::find(visited.begin(), visited.end(), "z0");<br>
> -  v_t::const_iterator za1 = std::find(visited.begin(), visited.end(), "za1");<br>
> -  v_t::const_iterator pop = std::find(visited.begin(), visited.end(), "pop");<br>
> -  v_t::const_iterator p1 = std::find(visited.begin(), visited.end(), "p1");<br>
> +  v_t::const_iterator a0 = find(visited, "a0");<br>
> +  v_t::const_iterator aa1 = find(visited, "aa1");<br>
> +  v_t::const_iterator ab1 = find(visited, "ab1");<br>
> +  v_t::const_iterator dontlookhere = find(visited, "dontlookhere");<br>
> +  v_t::const_iterator da1 = find(visited, "da1");<br>
> +  v_t::const_iterator z0 = find(visited, "z0");<br>
> +  v_t::const_iterator za1 = find(visited, "za1");<br>
> +  v_t::const_iterator pop = find(visited, "pop");<br>
> +  v_t::const_iterator p1 = find(visited, "p1");<br>
><br>
>   // Make sure that each path was visited correctly.<br>
>   ASSERT_NE(a0, visited.end());<br>
><br>
> Modified: llvm/trunk/unittests/Support/<wbr>ThreadPool.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Support/ThreadPool.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/unittests/<wbr>Support/ThreadPool.cpp?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/unittests/Support/<wbr>ThreadPool.cpp (original)<br>
> +++ llvm/trunk/unittests/Support/<wbr>ThreadPool.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -31,16 +31,14 @@ protected:<br>
>   bool isUnsupportedOSOrEnvironment() {<br>
>     Triple Host(Triple::normalize(sys::<wbr>getProcessTriple()));<br>
><br>
> -    if (std::find(<wbr>UnsupportedEnvironments.begin(<wbr>), UnsupportedEnvironments.end(),<br>
> -                  Host.getEnvironment()) != UnsupportedEnvironments.end())<br>
> +    if (find(UnsupportedEnvironments, Host.getEnvironment()) !=<br>
> +        UnsupportedEnvironments.end())<br>
>       return true;<br>
><br>
> -    if (std::find(UnsupportedOSs.<wbr>begin(), UnsupportedOSs.end(), Host.getOS())<br>
> -        != UnsupportedOSs.end())<br>
> +    if (is_contained(UnsupportedOSs, Host.getOS()))<br>
>       return true;<br>
><br>
> -    if (std::find(UnsupportedArchs.<wbr>begin(), UnsupportedArchs.end(), Host.getArch())<br>
> -        != UnsupportedArchs.end())<br>
> +    if (is_contained(<wbr>UnsupportedArchs, Host.getArch()))<br>
>       return true;<br>
><br>
>     return false;<br>
><br>
> Modified: llvm/trunk/utils/TableGen/<wbr>AsmMatcherEmitter.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/AsmMatcherEmitter.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/utils/<wbr>TableGen/AsmMatcherEmitter.<wbr>cpp?rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/utils/TableGen/<wbr>AsmMatcherEmitter.cpp (original)<br>
> +++ llvm/trunk/utils/TableGen/<wbr>AsmMatcherEmitter.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -1819,8 +1819,7 @@ static unsigned getConverterOperandID(co<br>
>                                       bool &IsNew) {<br>
>   IsNew = Table.insert(Name);<br>
><br>
> -  unsigned ID = IsNew ? Table.size() - 1 :<br>
> -    std::find(Table.begin(), Table.end(), Name) - Table.begin();<br>
> +  unsigned ID = IsNew ? Table.size() - 1 : find(Table, Name) - Table.begin();<br>
><br>
>   assert(ID < Table.size());<br>
><br>
><br>
> Modified: llvm/trunk/utils/TableGen/<wbr>CodeGenDAGPatterns.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenDAGPatterns.h?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/utils/<wbr>TableGen/CodeGenDAGPatterns.h?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/utils/TableGen/<wbr>CodeGenDAGPatterns.h (original)<br>
> +++ llvm/trunk/utils/TableGen/<wbr>CodeGenDAGPatterns.h Thu Aug 11 17:21:41 2016<br>
> @@ -412,8 +412,7 @@ public:<br>
>   }<br>
>   void addPredicateFn(const TreePredicateFn &Fn) {<br>
>     assert(!Fn.isAlwaysTrue() && "Empty predicate string!");<br>
> -    if (std::find(PredicateFns.begin(<wbr>), PredicateFns.end(), Fn) ==<br>
> -          PredicateFns.end())<br>
> +    if (!is_contained(PredicateFns, Fn))<br>
>       PredicateFns.push_back(Fn);<br>
>   }<br>
><br>
><br>
> Modified: llvm/trunk/utils/TableGen/<wbr>CodeGenRegisters.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenRegisters.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/utils/<wbr>TableGen/CodeGenRegisters.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/utils/TableGen/<wbr>CodeGenRegisters.cpp (original)<br>
> +++ llvm/trunk/utils/TableGen/<wbr>CodeGenRegisters.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -1756,8 +1756,7 @@ void CodeGenRegBank::<wbr>computeRegUnitSets(<br>
>     std::vector<unsigned> RUSets;<br>
>     for (unsigned i = 0, e = RegUnitSets.size(); i != e; ++i) {<br>
>       RegUnitSet &RUSet = RegUnitSets[i];<br>
> -      if (std::find(RUSet.Units.begin()<wbr>, RUSet.Units.end(), UnitIdx)<br>
> -          == RUSet.Units.end())<br>
> +      if (!is_contained(RUSet.Units, UnitIdx))<br>
>         continue;<br>
>       RUSets.push_back(i);<br>
>     }<br>
><br>
> Modified: llvm/trunk/utils/TableGen/<wbr>CodeGenSchedule.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenSchedule.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/utils/<wbr>TableGen/CodeGenSchedule.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/utils/TableGen/<wbr>CodeGenSchedule.cpp (original)<br>
> +++ llvm/trunk/utils/TableGen/<wbr>CodeGenSchedule.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -356,8 +356,7 @@ bool CodeGenSchedModels::<wbr>hasReadOfWrite(<br>
>       continue;<br>
><br>
>     RecVec ValidWrites = ReadDef->getValueAsListOfDefs(<wbr>"ValidWrites");<br>
> -    if (std::find(ValidWrites.begin()<wbr>, ValidWrites.end(), WriteDef)<br>
> -        != ValidWrites.end()) {<br>
> +    if (is_contained(ValidWrites, WriteDef)) {<br>
>       return true;<br>
>     }<br>
>   }<br>
> @@ -1400,8 +1399,7 @@ bool CodeGenSchedModels::<wbr>hasSuperGroup(R<br>
>       PM.ProcResourceDefs[i]-><wbr>getValueAsListOfDefs("<wbr>Resources");<br>
>     RecIter RI = SubUnits.begin(), RE = SubUnits.end();<br>
>     for ( ; RI != RE; ++RI) {<br>
> -      if (std::find(SuperUnits.begin(), SuperUnits.end(), *RI)<br>
> -          == SuperUnits.end()) {<br>
> +      if (!is_contained(SuperUnits, *RI)) {<br>
>         break;<br>
>       }<br>
>     }<br>
> @@ -1741,7 +1739,7 @@ void CodeGenSchedModels::<wbr>addWriteRes(Rec<br>
>   assert(PIdx && "don't add resources to an invalid Processor model");<br>
><br>
>   RecVec &WRDefs = ProcModels[PIdx].WriteResDefs;<br>
> -  RecIter WRI = std::find(WRDefs.begin(), WRDefs.end(), ProcWriteResDef);<br>
> +  RecIter WRI = find(WRDefs, ProcWriteResDef);<br>
>   if (WRI != WRDefs.end())<br>
>     return;<br>
>   WRDefs.push_back(<wbr>ProcWriteResDef);<br>
> @@ -1758,15 +1756,14 @@ void CodeGenSchedModels::<wbr>addWriteRes(Rec<br>
> void CodeGenSchedModels::<wbr>addReadAdvance(Record *ProcReadAdvanceDef,<br>
>                                         unsigned PIdx) {<br>
>   RecVec &RADefs = ProcModels[PIdx].<wbr>ReadAdvanceDefs;<br>
> -  RecIter I = std::find(RADefs.begin(), RADefs.end(), ProcReadAdvanceDef);<br>
> +  RecIter I = find(RADefs, ProcReadAdvanceDef);<br>
>   if (I != RADefs.end())<br>
>     return;<br>
>   RADefs.push_back(<wbr>ProcReadAdvanceDef);<br>
> }<br>
><br>
> unsigned CodeGenProcModel::<wbr>getProcResourceIdx(Record *PRDef) const {<br>
> -  RecIter PRPos = std::find(ProcResourceDefs.<wbr>begin(), ProcResourceDefs.end(),<br>
> -                            PRDef);<br>
> +  RecIter PRPos = find(ProcResourceDefs, PRDef);<br>
>   if (PRPos == ProcResourceDefs.end())<br>
>     PrintFatalError(PRDef->getLoc(<wbr>), "ProcResource def is not included in "<br>
>                     "the ProcResources list for " + ModelName);<br>
><br>
> Modified: llvm/trunk/utils/TableGen/<wbr>CodeGenTarget.h<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenTarget.h?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/utils/<wbr>TableGen/CodeGenTarget.h?rev=<wbr>278433&r1=278432&r2=278433&<wbr>view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/utils/TableGen/<wbr>CodeGenTarget.h (original)<br>
> +++ llvm/trunk/utils/TableGen/<wbr>CodeGenTarget.h Thu Aug 11 17:21:41 2016<br>
> @@ -139,7 +139,7 @@ public:<br>
>   /// supported by the target (i.e. there are registers that directly hold it).<br>
>   bool isLegalValueType(MVT::<wbr>SimpleValueType VT) const {<br>
>     ArrayRef<MVT::SimpleValueType> LegalVTs = getLegalValueTypes();<br>
> -    return std::find(LegalVTs.begin(), LegalVTs.end(), VT) != LegalVTs.end();<br>
> +    return is_contained(LegalVTs, VT);<br>
>   }<br>
><br>
>   CodeGenSchedModels &getSchedModels() const;<br>
><br>
> Modified: llvm/trunk/utils/TableGen/<wbr>SubtargetEmitter.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/SubtargetEmitter.cpp?rev=278433&r1=278432&r2=278433&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/utils/<wbr>TableGen/SubtargetEmitter.cpp?<wbr>rev=278433&r1=278432&r2=<wbr>278433&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- llvm/trunk/utils/TableGen/<wbr>SubtargetEmitter.cpp (original)<br>
> +++ llvm/trunk/utils/TableGen/<wbr>SubtargetEmitter.cpp Thu Aug 11 17:21:41 2016<br>
> @@ -783,8 +783,7 @@ void SubtargetEmitter::<wbr>ExpandProcResourc<br>
>       RecVec SuperResources = PR->getValueAsListOfDefs("<wbr>Resources");<br>
>       RecIter SubI = SubResources.begin(), SubE = SubResources.end();<br>
>       for( ; SubI != SubE; ++SubI) {<br>
> -        if (std::find(SuperResources.<wbr>begin(), SuperResources.end(), *SubI)<br>
> -            == SuperResources.end()) {<br>
> +        if (!is_contained(SuperResources, *SubI)) {<br>
>           break;<br>
>         }<br>
>       }<br>
> @@ -873,8 +872,7 @@ void SubtargetEmitter::<wbr>GenSchedClassTabl<br>
>       // Check this processor's itinerary class resources.<br>
>       for (Record *I : ProcModel.ItinRWDefs) {<br>
>         RecVec Matched = I->getValueAsListOfDefs("<wbr>MatchedItinClasses");<br>
> -        if (std::find(Matched.begin(), Matched.end(), SC.ItinClassDef)<br>
> -            != Matched.end()) {<br>
> +        if (is_contained(Matched, SC.ItinClassDef)) {<br>
>           SchedModels.findRWs(I-><wbr>getValueAsListOfDefs("<wbr>OperandReadWrites"),<br>
>                               Writes, Reads);<br>
>           break;<br>
><br>
><br>
> ______________________________<wbr>_________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br>
<br>
</div></div></blockquote></div><br></div></div>