[llvm] r222334 - Update SetVector to rely on the underlying set's insert to return a pair<iterator, bool>
Michael Ilseman
milseman at apple.com
Wed Nov 19 13:19:43 PST 2014
> On Nov 18, 2014, at 11:49 PM, David Blaikie <dblaikie at gmail.com> wrote:
>
> Author: dblaikie
> Date: Wed Nov 19 01:49:26 2014
> New Revision: 222334
>
> URL: http://llvm.org/viewvc/llvm-project?rev=222334&view=rev
> Log:
> Update SetVector to rely on the underlying set's insert to return a pair<iterator, bool>
>
> This is to be consistent with StringSet and ultimately with the standard
> library's associative container insert function.
>
> This lead to updating SmallSet::insert to return pair<iterator, bool>,
> and then to update SmallPtrSet::insert to return pair<iterator, bool>,
> and then to update all the existing users of those functions...
>
> Modified:
> llvm/trunk/include/llvm/ADT/PostOrderIterator.h
> llvm/trunk/include/llvm/ADT/SetVector.h
> llvm/trunk/include/llvm/ADT/SmallPtrSet.h
> llvm/trunk/include/llvm/ADT/SmallSet.h
> llvm/trunk/include/llvm/Analysis/DominanceFrontierImpl.h
> llvm/trunk/include/llvm/Analysis/ScalarEvolutionExpressions.h
> llvm/trunk/include/llvm/CodeGen/MachineDominators.h
> llvm/trunk/include/llvm/Support/GenericDomTreeConstruction.h
> llvm/trunk/lib/Analysis/BasicAliasAnalysis.cpp
> llvm/trunk/lib/Analysis/CFG.cpp
> llvm/trunk/lib/Analysis/CaptureTracking.cpp
> llvm/trunk/lib/Analysis/CodeMetrics.cpp
> llvm/trunk/lib/Analysis/ConstantFolding.cpp
> llvm/trunk/lib/Analysis/IPA/InlineCost.cpp
> llvm/trunk/lib/Analysis/IVUsers.cpp
> llvm/trunk/lib/Analysis/InstructionSimplify.cpp
> llvm/trunk/lib/Analysis/LazyCallGraph.cpp
> llvm/trunk/lib/Analysis/Lint.cpp
> llvm/trunk/lib/Analysis/MemoryBuiltins.cpp
> llvm/trunk/lib/Analysis/MemoryDependenceAnalysis.cpp
> llvm/trunk/lib/Analysis/PtrUseVisitor.cpp
> llvm/trunk/lib/Analysis/ScalarEvolution.cpp
> llvm/trunk/lib/Analysis/ScalarEvolutionExpander.cpp
> llvm/trunk/lib/Analysis/StratifiedSets.h
> llvm/trunk/lib/Analysis/ValueTracking.cpp
> llvm/trunk/lib/AsmParser/LLParser.cpp
> llvm/trunk/lib/CodeGen/AggressiveAntiDepBreaker.cpp
> llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
> llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
> llvm/trunk/lib/CodeGen/BranchFolding.cpp
> llvm/trunk/lib/CodeGen/CalcSpillWeights.cpp
> llvm/trunk/lib/CodeGen/CodeGenPrepare.cpp
> llvm/trunk/lib/CodeGen/EarlyIfConversion.cpp
> llvm/trunk/lib/CodeGen/InlineSpiller.cpp
> llvm/trunk/lib/CodeGen/LiveInterval.cpp
> llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp
> llvm/trunk/lib/CodeGen/MachineBasicBlock.cpp
> llvm/trunk/lib/CodeGen/MachineBlockPlacement.cpp
> llvm/trunk/lib/CodeGen/MachineInstrBundle.cpp
> llvm/trunk/lib/CodeGen/MachineLICM.cpp
> llvm/trunk/lib/CodeGen/MachineSink.cpp
> llvm/trunk/lib/CodeGen/MachineTraceMetrics.cpp
> llvm/trunk/lib/CodeGen/OptimizePHIs.cpp
> llvm/trunk/lib/CodeGen/PHIElimination.cpp
> llvm/trunk/lib/CodeGen/RegAllocFast.cpp
> llvm/trunk/lib/CodeGen/RegisterCoalescer.cpp
> llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp
> llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
> llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp
> llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
> llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
> llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
> llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
> llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
> llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
> llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
> llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
> llvm/trunk/lib/CodeGen/SjLjEHPrepare.cpp
> llvm/trunk/lib/CodeGen/StackProtector.cpp
> llvm/trunk/lib/CodeGen/TwoAddressInstructionPass.cpp
> llvm/trunk/lib/IR/Constants.cpp
> llvm/trunk/lib/IR/DIBuilder.cpp
> llvm/trunk/lib/IR/DebugInfo.cpp
> llvm/trunk/lib/IR/Type.cpp
> llvm/trunk/lib/IR/Value.cpp
> llvm/trunk/lib/IR/Verifier.cpp
> llvm/trunk/lib/Linker/LinkModules.cpp
> llvm/trunk/lib/Support/CommandLine.cpp
> llvm/trunk/lib/Support/SmallPtrSet.cpp
> llvm/trunk/lib/Target/AArch64/AArch64PromoteConstant.cpp
> llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp
> llvm/trunk/lib/Target/Mips/MipsDelaySlotFiller.cpp
> llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp
> llvm/trunk/lib/Target/X86/X86FloatingPoint.cpp
> llvm/trunk/lib/Transforms/IPO/ArgumentPromotion.cpp
> llvm/trunk/lib/Transforms/IPO/FunctionAttrs.cpp
> llvm/trunk/lib/Transforms/IPO/GlobalDCE.cpp
> llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp
> llvm/trunk/lib/Transforms/IPO/Inliner.cpp
> llvm/trunk/lib/Transforms/IPO/MergeFunctions.cpp
> llvm/trunk/lib/Transforms/InstCombine/InstCombinePHI.cpp
> llvm/trunk/lib/Transforms/InstCombine/InstructionCombining.cpp
> llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp
> llvm/trunk/lib/Transforms/ObjCARC/DependencyAnalysis.cpp
> llvm/trunk/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
> llvm/trunk/lib/Transforms/ObjCARC/ProvenanceAnalysis.cpp
> llvm/trunk/lib/Transforms/Scalar/ADCE.cpp
> llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpp
> llvm/trunk/lib/Transforms/Scalar/JumpThreading.cpp
> llvm/trunk/lib/Transforms/Scalar/LoopInstSimplify.cpp
> llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp
> llvm/trunk/lib/Transforms/Scalar/Reassociate.cpp
> llvm/trunk/lib/Transforms/Scalar/SCCP.cpp
> llvm/trunk/lib/Transforms/Scalar/SROA.cpp
> llvm/trunk/lib/Transforms/Scalar/SampleProfile.cpp
> llvm/trunk/lib/Transforms/Scalar/ScalarReplAggregates.cpp
> llvm/trunk/lib/Transforms/Scalar/TailRecursionElimination.cpp
> llvm/trunk/lib/Transforms/Utils/GlobalStatus.cpp
> llvm/trunk/lib/Transforms/Utils/Local.cpp
> llvm/trunk/lib/Transforms/Utils/LoopUnroll.cpp
> llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
> llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp
> llvm/trunk/lib/Transforms/Utils/SimplifyIndVar.cpp
> llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp
> llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp
> llvm/trunk/utils/TableGen/CodeGenSchedule.cpp
> llvm/trunk/utils/TableGen/SubtargetEmitter.cpp
>
> Modified: llvm/trunk/include/llvm/ADT/PostOrderIterator.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/PostOrderIterator.h?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/PostOrderIterator.h (original)
> +++ llvm/trunk/include/llvm/ADT/PostOrderIterator.h Wed Nov 19 01:49:26 2014
> @@ -57,7 +57,7 @@ public:
> // Return true if edge destination should be visited.
> template<typename NodeType>
> bool insertEdge(NodeType *From, NodeType *To) {
> - return Visited.insert(To);
> + return Visited.insert(To).second;
> }
>
> // Called after all children of BB have been visited.
>
There is another insertEdge() definition in the template specialization right below that struct (for External ownership). Apparently Clang/LLVM builds fine with the bug. If we don’t have any uses of that specialization, should “External" be removed, or do we want to just update it without a test/user? Maybe a unit test can reference the specialization?
I’m asking because I don’t know the community’s preference, but if someone were to have a po_iterator with external storage, then this will not compile.
> Modified: llvm/trunk/include/llvm/ADT/SetVector.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/SetVector.h?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/SetVector.h (original)
> +++ llvm/trunk/include/llvm/ADT/SetVector.h Wed Nov 19 01:49:26 2014
> @@ -100,7 +100,7 @@ public:
> /// \brief Insert a new element into the SetVector.
> /// \returns true iff the element was inserted into the SetVector.
> bool insert(const value_type &X) {
> - bool result = set_.insert(X);
> + bool result = set_.insert(X).second;
> if (result)
> vector_.push_back(X);
> return result;
> @@ -110,7 +110,7 @@ public:
> template<typename It>
> void insert(It Start, It End) {
> for (; Start != End; ++Start)
> - if (set_.insert(*Start))
> + if (set_.insert(*Start).second)
> vector_.push_back(*Start);
> }
>
>
> Modified: llvm/trunk/include/llvm/ADT/SmallPtrSet.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/SmallPtrSet.h?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/SmallPtrSet.h (original)
> +++ llvm/trunk/include/llvm/ADT/SmallPtrSet.h Wed Nov 19 01:49:26 2014
> @@ -100,7 +100,7 @@ protected:
> /// insert_imp - This returns true if the pointer was new to the set, false if
> /// it was already in the set. This is hidden from the client so that the
> /// derived class can check that the right type of pointer is passed in.
> - bool insert_imp(const void * Ptr);
> + std::pair<const void *const *, bool> insert_imp(const void *Ptr);
>
> /// erase_imp - If the set contains the specified pointer, remove it and
> /// return true, otherwise return false. This is hidden from the client so
> @@ -253,10 +253,14 @@ protected:
> : SmallPtrSetImplBase(SmallStorage, SmallSize) {}
>
> public:
> + typedef SmallPtrSetIterator<PtrType> iterator;
> + typedef SmallPtrSetIterator<PtrType> const_iterator;
> +
> /// insert - This returns true if the pointer was new to the set, false if it
> /// was already in the set.
> - bool insert(PtrType Ptr) {
> - return insert_imp(PtrTraits::getAsVoidPointer(Ptr));
> + std::pair<iterator, bool> insert(PtrType Ptr) {
> + auto p = insert_imp(PtrTraits::getAsVoidPointer(Ptr));
> + return std::make_pair(iterator(p.first, CurArray + CurArraySize), p.second);
> }
>
> /// erase - If the set contains the specified pointer, remove it and return
> @@ -276,8 +280,6 @@ public:
> insert(*I);
> }
>
> - typedef SmallPtrSetIterator<PtrType> iterator;
> - typedef SmallPtrSetIterator<PtrType> const_iterator;
> inline iterator begin() const {
> return iterator(CurArray, CurArray+CurArraySize);
> }
>
> Modified: llvm/trunk/include/llvm/ADT/SmallSet.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/SmallSet.h?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/SmallSet.h (original)
> +++ llvm/trunk/include/llvm/ADT/SmallSet.h Wed Nov 19 01:49:26 2014
> @@ -14,6 +14,7 @@
> #ifndef LLVM_ADT_SMALLSET_H
> #define LLVM_ADT_SMALLSET_H
>
> +#include "llvm/ADT/None.h"
> #include "llvm/ADT/SmallPtrSet.h"
> #include "llvm/ADT/SmallVector.h"
> #include <set>
> @@ -60,16 +61,21 @@ public:
>
> /// insert - Insert an element into the set if it isn't already there.
> /// Returns true if the element is inserted (it was not in the set before).
> - bool insert(const T &V) {
> + /// The first value of the returned pair is unused and provided for
> + /// partial compatibility with the standard library self-associative container
> + /// concept.
> + // FIXME: Add iterators that abstract over the small and large form, and then
> + // return those here.
> + std::pair<NoneType, bool> insert(const T &V) {
> if (!isSmall())
> - return Set.insert(V).second;
> + return std::make_pair(None, Set.insert(V).second);
>
> VIterator I = vfind(V);
> if (I != Vector.end()) // Don't reinsert if it already exists.
> - return false;
> + return std::make_pair(None, false);
> if (Vector.size() < N) {
> Vector.push_back(V);
> - return true;
> + return std::make_pair(None, true);
> }
>
> // Otherwise, grow from vector to set.
> @@ -78,7 +84,7 @@ public:
> Vector.pop_back();
> }
> Set.insert(V);
> - return true;
> + return std::make_pair(None, true);
> }
>
> template <typename IterT>
>
> Modified: llvm/trunk/include/llvm/Analysis/DominanceFrontierImpl.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/DominanceFrontierImpl.h?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/Analysis/DominanceFrontierImpl.h (original)
> +++ llvm/trunk/include/llvm/Analysis/DominanceFrontierImpl.h Wed Nov 19 01:49:26 2014
> @@ -172,7 +172,7 @@ ForwardDominanceFrontierBase<BlockT>::ca
> DomSetType &S = this->Frontiers[currentBB];
>
> // Visit each block only once.
> - if (visited.insert(currentBB)) {
> + if (visited.insert(currentBB).second) {
> // Loop over CFG successors to calculate DFlocal[currentNode]
> for (auto SI = BlockTraits::child_begin(currentBB),
> SE = BlockTraits::child_end(currentBB);
>
> Modified: llvm/trunk/include/llvm/Analysis/ScalarEvolutionExpressions.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/ScalarEvolutionExpressions.h?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/Analysis/ScalarEvolutionExpressions.h (original)
> +++ llvm/trunk/include/llvm/Analysis/ScalarEvolutionExpressions.h Wed Nov 19 01:49:26 2014
> @@ -577,7 +577,7 @@ namespace llvm {
> SmallPtrSet<const SCEV *, 8> Visited;
>
> void push(const SCEV *S) {
> - if (Visited.insert(S) && Visitor.follow(S))
> + if (Visited.insert(S).second && Visitor.follow(S))
> Worklist.push_back(S);
> }
> public:
>
> Modified: llvm/trunk/include/llvm/CodeGen/MachineDominators.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineDominators.h?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/CodeGen/MachineDominators.h (original)
> +++ llvm/trunk/include/llvm/CodeGen/MachineDominators.h Wed Nov 19 01:49:26 2014
> @@ -303,7 +303,7 @@ public:
> void recordSplitCriticalEdge(MachineBasicBlock *FromBB,
> MachineBasicBlock *ToBB,
> MachineBasicBlock *NewBB) {
> - bool Inserted = NewBBs.insert(NewBB);
> + bool Inserted = NewBBs.insert(NewBB).second;
> (void)Inserted;
> assert(Inserted &&
> "A basic block inserted via edge splitting cannot appear twice");
>
> Modified: llvm/trunk/include/llvm/Support/GenericDomTreeConstruction.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/GenericDomTreeConstruction.h?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/Support/GenericDomTreeConstruction.h (original)
> +++ llvm/trunk/include/llvm/Support/GenericDomTreeConstruction.h Wed Nov 19 01:49:26 2014
> @@ -125,7 +125,7 @@ Eval(DominatorTreeBase<typename GraphT::
> typename GraphT::NodeType* VAncestor = DT.Vertex[VInfo.Parent];
>
> // Process Ancestor first
> - if (Visited.insert(VAncestor) && VInfo.Parent >= LastLinked) {
> + if (Visited.insert(VAncestor).second && VInfo.Parent >= LastLinked) {
> Work.push_back(VAncestor);
> continue;
> }
>
> Modified: llvm/trunk/lib/Analysis/BasicAliasAnalysis.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/BasicAliasAnalysis.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Analysis/BasicAliasAnalysis.cpp (original)
> +++ llvm/trunk/lib/Analysis/BasicAliasAnalysis.cpp Wed Nov 19 01:49:26 2014
> @@ -614,7 +614,7 @@ BasicAliasAnalysis::pointsToConstantMemo
> Worklist.push_back(Loc.Ptr);
> do {
> const Value *V = GetUnderlyingObject(Worklist.pop_back_val(), DL);
> - if (!Visited.insert(V)) {
> + if (!Visited.insert(V).second) {
> Visited.clear();
> return AliasAnalysis::pointsToConstantMemory(Loc, OrLocal);
> }
> @@ -1235,7 +1235,7 @@ BasicAliasAnalysis::aliasPHI(const PHINo
> // sides are PHI nodes. In which case, this is O(m x n) time where 'm'
> // and 'n' are the number of PHI sources.
> return MayAlias;
> - if (UniqueSrc.insert(PV1))
> + if (UniqueSrc.insert(PV1).second)
> V1Srcs.push_back(PV1);
> }
>
>
> Modified: llvm/trunk/lib/Analysis/CFG.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/CFG.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Analysis/CFG.cpp (original)
> +++ llvm/trunk/lib/Analysis/CFG.cpp Wed Nov 19 01:49:26 2014
> @@ -45,7 +45,7 @@ void llvm::FindFunctionBackedges(const F
> bool FoundNew = false;
> while (I != succ_end(ParentBB)) {
> BB = *I++;
> - if (Visited.insert(BB)) {
> + if (Visited.insert(BB).second) {
> FoundNew = true;
> break;
> }
> @@ -141,7 +141,7 @@ static bool isPotentiallyReachableInner(
> SmallSet<const BasicBlock*, 64> Visited;
> do {
> BasicBlock *BB = Worklist.pop_back_val();
> - if (!Visited.insert(BB))
> + if (!Visited.insert(BB).second)
> continue;
> if (BB == StopBB)
> return true;
>
> Modified: llvm/trunk/lib/Analysis/CaptureTracking.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/CaptureTracking.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Analysis/CaptureTracking.cpp (original)
> +++ llvm/trunk/lib/Analysis/CaptureTracking.cpp Wed Nov 19 01:49:26 2014
> @@ -239,7 +239,7 @@ void llvm::PointerMayBeCaptured(const Va
> if (Count++ >= Threshold)
> return Tracker->tooManyUses();
>
> - if (Visited.insert(&UU))
> + if (Visited.insert(&UU).second)
> if (Tracker->shouldExplore(&UU))
> Worklist.push_back(&UU);
> }
>
> Modified: llvm/trunk/lib/Analysis/CodeMetrics.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/CodeMetrics.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Analysis/CodeMetrics.cpp (original)
> +++ llvm/trunk/lib/Analysis/CodeMetrics.cpp Wed Nov 19 01:49:26 2014
> @@ -40,7 +40,7 @@ static void completeEphemeralValues(Smal
> const Value *V = WorkSet.front();
> WorkSet.erase(WorkSet.begin());
>
> - if (!Visited.insert(V))
> + if (!Visited.insert(V).second)
> continue;
>
> // If all uses of this value are ephemeral, then so is this value.
>
> Modified: llvm/trunk/lib/Analysis/ConstantFolding.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/ConstantFolding.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Analysis/ConstantFolding.cpp (original)
> +++ llvm/trunk/lib/Analysis/ConstantFolding.cpp Wed Nov 19 01:49:26 2014
> @@ -981,7 +981,7 @@ ConstantFoldConstantExpressionImpl(const
> // Recursively fold the ConstantExpr's operands. If we have already folded
> // a ConstantExpr, we don't have to process it again.
> if (ConstantExpr *NewCE = dyn_cast<ConstantExpr>(NewC)) {
> - if (FoldedOps.insert(NewCE))
> + if (FoldedOps.insert(NewCE).second)
> NewC = ConstantFoldConstantExpressionImpl(NewCE, TD, TLI, FoldedOps);
> }
> Ops.push_back(NewC);
>
> Modified: llvm/trunk/lib/Analysis/IPA/InlineCost.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/IPA/InlineCost.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Analysis/IPA/InlineCost.cpp (original)
> +++ llvm/trunk/lib/Analysis/IPA/InlineCost.cpp Wed Nov 19 01:49:26 2014
> @@ -977,7 +977,7 @@ ConstantInt *CallAnalyzer::stripAndCompu
> break;
> }
> assert(V->getType()->isPointerTy() && "Unexpected operand type!");
> - } while (Visited.insert(V));
> + } while (Visited.insert(V).second);
>
> Type *IntPtrTy = DL->getIntPtrType(V->getContext());
> return cast<ConstantInt>(ConstantInt::get(IntPtrTy, Offset));
>
> Modified: llvm/trunk/lib/Analysis/IVUsers.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/IVUsers.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Analysis/IVUsers.cpp (original)
> +++ llvm/trunk/lib/Analysis/IVUsers.cpp Wed Nov 19 01:49:26 2014
> @@ -115,7 +115,7 @@ bool IVUsers::AddUsersImpl(Instruction *
> SmallPtrSetImpl<Loop*> &SimpleLoopNests) {
> // Add this IV user to the Processed set before returning false to ensure that
> // all IV users are members of the set. See IVUsers::isIVUserOrOperand.
> - if (!Processed.insert(I))
> + if (!Processed.insert(I).second)
> return true; // Instruction already handled.
>
> if (!SE->isSCEVable(I->getType()))
> @@ -145,7 +145,7 @@ bool IVUsers::AddUsersImpl(Instruction *
> SmallPtrSet<Instruction *, 4> UniqueUsers;
> for (Use &U : I->uses()) {
> Instruction *User = cast<Instruction>(U.getUser());
> - if (!UniqueUsers.insert(User))
> + if (!UniqueUsers.insert(User).second)
> continue;
>
> // Do not infinitely recurse on PHI nodes.
>
> Modified: llvm/trunk/lib/Analysis/InstructionSimplify.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/InstructionSimplify.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Analysis/InstructionSimplify.cpp (original)
> +++ llvm/trunk/lib/Analysis/InstructionSimplify.cpp Wed Nov 19 01:49:26 2014
> @@ -631,7 +631,7 @@ static Constant *stripAndComputeConstant
> }
> assert(V->getType()->getScalarType()->isPointerTy() &&
> "Unexpected operand type!");
> - } while (Visited.insert(V));
> + } while (Visited.insert(V).second);
>
> Constant *OffsetIntPtr = ConstantInt::get(IntPtrTy, Offset);
> if (V->getType()->isVectorTy())
>
> Modified: llvm/trunk/lib/Analysis/LazyCallGraph.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/LazyCallGraph.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Analysis/LazyCallGraph.cpp (original)
> +++ llvm/trunk/lib/Analysis/LazyCallGraph.cpp Wed Nov 19 01:49:26 2014
> @@ -48,7 +48,7 @@ static void findCallees(
> }
>
> for (Value *Op : C->operand_values())
> - if (Visited.insert(cast<Constant>(Op)))
> + if (Visited.insert(cast<Constant>(Op)).second)
> Worklist.push_back(cast<Constant>(Op));
> }
> }
> @@ -66,7 +66,7 @@ LazyCallGraph::Node::Node(LazyCallGraph
> for (Instruction &I : BB)
> for (Value *Op : I.operand_values())
> if (Constant *C = dyn_cast<Constant>(Op))
> - if (Visited.insert(C))
> + if (Visited.insert(C).second)
> Worklist.push_back(C);
>
> // We've collected all the constant (and thus potentially function or
> @@ -113,7 +113,7 @@ LazyCallGraph::LazyCallGraph(Module &M)
> SmallPtrSet<Constant *, 16> Visited;
> for (GlobalVariable &GV : M.globals())
> if (GV.hasInitializer())
> - if (Visited.insert(GV.getInitializer()))
> + if (Visited.insert(GV.getInitializer()).second)
> Worklist.push_back(GV.getInitializer());
>
> DEBUG(dbgs() << " Adding functions referenced by global initializers to the "
> @@ -688,7 +688,7 @@ static void printNodes(raw_ostream &OS,
> SmallPtrSetImpl<LazyCallGraph::Node *> &Printed) {
> // Recurse depth first through the nodes.
> for (LazyCallGraph::Node &ChildN : N)
> - if (Printed.insert(&ChildN))
> + if (Printed.insert(&ChildN).second)
> printNodes(OS, ChildN, Printed);
>
> OS << " Call edges in function: " << N.getFunction().getName() << "\n";
> @@ -717,7 +717,7 @@ PreservedAnalyses LazyCallGraphPrinterPa
>
> SmallPtrSet<LazyCallGraph::Node *, 16> Printed;
> for (LazyCallGraph::Node &N : G)
> - if (Printed.insert(&N))
> + if (Printed.insert(&N).second)
> printNodes(OS, N, Printed);
>
> for (LazyCallGraph::SCC &SCC : G.postorder_sccs())
>
> Modified: llvm/trunk/lib/Analysis/Lint.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/Lint.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Analysis/Lint.cpp (original)
> +++ llvm/trunk/lib/Analysis/Lint.cpp Wed Nov 19 01:49:26 2014
> @@ -631,7 +631,7 @@ Value *Lint::findValue(Value *V, bool Of
> Value *Lint::findValueImpl(Value *V, bool OffsetOk,
> SmallPtrSetImpl<Value *> &Visited) const {
> // Detect self-referential values.
> - if (!Visited.insert(V))
> + if (!Visited.insert(V).second)
> return UndefValue::get(V->getType());
>
> // TODO: Look through sext or zext cast, when the result is known to
> @@ -645,7 +645,8 @@ Value *Lint::findValueImpl(Value *V, boo
> BasicBlock *BB = L->getParent();
> SmallPtrSet<BasicBlock *, 4> VisitedBlocks;
> for (;;) {
> - if (!VisitedBlocks.insert(BB)) break;
> + if (!VisitedBlocks.insert(BB).second)
> + break;
> if (Value *U = FindAvailableLoadedValue(L->getPointerOperand(),
> BB, BBI, 6, AA))
> return findValueImpl(U, OffsetOk, Visited);
>
> Modified: llvm/trunk/lib/Analysis/MemoryBuiltins.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/MemoryBuiltins.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Analysis/MemoryBuiltins.cpp (original)
> +++ llvm/trunk/lib/Analysis/MemoryBuiltins.cpp Wed Nov 19 01:49:26 2014
> @@ -416,7 +416,7 @@ SizeOffsetType ObjectSizeOffsetVisitor::
> if (Instruction *I = dyn_cast<Instruction>(V)) {
> // If we have already seen this instruction, bail out. Cycles can happen in
> // unreachable code after constant propagation.
> - if (!SeenInsts.insert(I))
> + if (!SeenInsts.insert(I).second)
> return unknown();
>
> if (GEPOperator *GEP = dyn_cast<GEPOperator>(V))
> @@ -652,7 +652,7 @@ SizeOffsetEvalType ObjectSizeOffsetEvalu
> // Record the pointers that were handled in this run, so that they can be
> // cleaned later if something fails. We also use this set to break cycles that
> // can occur in dead code.
> - if (!SeenVals.insert(V)) {
> + if (!SeenVals.insert(V).second) {
> Result = unknown();
> } else if (GEPOperator *GEP = dyn_cast<GEPOperator>(V)) {
> Result = visitGEPOperator(*GEP);
>
> Modified: llvm/trunk/lib/Analysis/MemoryDependenceAnalysis.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/MemoryDependenceAnalysis.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Analysis/MemoryDependenceAnalysis.cpp (original)
> +++ llvm/trunk/lib/Analysis/MemoryDependenceAnalysis.cpp Wed Nov 19 01:49:26 2014
> @@ -776,7 +776,7 @@ MemoryDependenceAnalysis::getNonLocalCal
> DirtyBlocks.pop_back();
>
> // Already processed this block?
> - if (!Visited.insert(DirtyBB))
> + if (!Visited.insert(DirtyBB).second)
> continue;
>
> // Do a binary search to see if we already have an entry for this block in
>
> Modified: llvm/trunk/lib/Analysis/PtrUseVisitor.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/PtrUseVisitor.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Analysis/PtrUseVisitor.cpp (original)
> +++ llvm/trunk/lib/Analysis/PtrUseVisitor.cpp Wed Nov 19 01:49:26 2014
> @@ -17,7 +17,7 @@ using namespace llvm;
>
> void detail::PtrUseVisitorBase::enqueueUsers(Instruction &I) {
> for (Use &U : I.uses()) {
> - if (VisitedUses.insert(&U)) {
> + if (VisitedUses.insert(&U).second) {
> UseToVisit NewU = {
> UseToVisit::UseAndIsOffsetKnownPair(&U, IsOffsetKnown),
> Offset
>
> Modified: llvm/trunk/lib/Analysis/ScalarEvolution.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/ScalarEvolution.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Analysis/ScalarEvolution.cpp (original)
> +++ llvm/trunk/lib/Analysis/ScalarEvolution.cpp Wed Nov 19 01:49:26 2014
> @@ -3395,7 +3395,8 @@ ScalarEvolution::ForgetSymbolicName(Inst
> Visited.insert(PN);
> while (!Worklist.empty()) {
> Instruction *I = Worklist.pop_back_val();
> - if (!Visited.insert(I)) continue;
> + if (!Visited.insert(I).second)
> + continue;
>
> ValueExprMapType::iterator It =
> ValueExprMap.find_as(static_cast<Value *>(I));
> @@ -4593,7 +4594,8 @@ ScalarEvolution::getBackedgeTakenInfo(co
> SmallPtrSet<Instruction *, 8> Visited;
> while (!Worklist.empty()) {
> Instruction *I = Worklist.pop_back_val();
> - if (!Visited.insert(I)) continue;
> + if (!Visited.insert(I).second)
> + continue;
>
> ValueExprMapType::iterator It =
> ValueExprMap.find_as(static_cast<Value *>(I));
> @@ -4645,7 +4647,8 @@ void ScalarEvolution::forgetLoop(const L
> SmallPtrSet<Instruction *, 8> Visited;
> while (!Worklist.empty()) {
> Instruction *I = Worklist.pop_back_val();
> - if (!Visited.insert(I)) continue;
> + if (!Visited.insert(I).second)
> + continue;
>
> ValueExprMapType::iterator It =
> ValueExprMap.find_as(static_cast<Value *>(I));
> @@ -4679,7 +4682,8 @@ void ScalarEvolution::forgetValue(Value
> SmallPtrSet<Instruction *, 8> Visited;
> while (!Worklist.empty()) {
> I = Worklist.pop_back_val();
> - if (!Visited.insert(I)) continue;
> + if (!Visited.insert(I).second)
> + continue;
>
> ValueExprMapType::iterator It =
> ValueExprMap.find_as(static_cast<Value *>(I));
> @@ -7792,7 +7796,7 @@ void ScalarEvolution::SCEVCallbackVH::al
> // that until everything else is done.
> if (U == Old)
> continue;
> - if (!Visited.insert(U))
> + if (!Visited.insert(U).second)
> continue;
> if (PHINode *PN = dyn_cast<PHINode>(U))
> SE->ConstantEvolutionLoopExitValue.erase(PN);
>
> Modified: llvm/trunk/lib/Analysis/ScalarEvolutionExpander.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/ScalarEvolutionExpander.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Analysis/ScalarEvolutionExpander.cpp (original)
> +++ llvm/trunk/lib/Analysis/ScalarEvolutionExpander.cpp Wed Nov 19 01:49:26 2014
> @@ -1443,7 +1443,7 @@ Value *SCEVExpander::visitAddRecExpr(con
> Constant *One = ConstantInt::get(Ty, 1);
> for (pred_iterator HPI = HPB; HPI != HPE; ++HPI) {
> BasicBlock *HP = *HPI;
> - if (!PredSeen.insert(HP)) {
> + if (!PredSeen.insert(HP).second) {
> // There must be an incoming value for each predecessor, even the
> // duplicates!
> CanonicalIV->addIncoming(CanonicalIV->getIncomingValueForBlock(HP), HP);
>
> Modified: llvm/trunk/lib/Analysis/StratifiedSets.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/StratifiedSets.h?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Analysis/StratifiedSets.h (original)
> +++ llvm/trunk/lib/Analysis/StratifiedSets.h Wed Nov 19 01:49:26 2014
> @@ -363,7 +363,7 @@ template <typename T> class StratifiedSe
> SmallSet<StratifiedIndex, 16> Visited;
> for (unsigned I = 0, E = Links.size(); I < E; ++I) {
> auto CurrentIndex = getHighestParentAbove(I);
> - if (!Visited.insert(CurrentIndex)) {
> + if (!Visited.insert(CurrentIndex).second) {
> continue;
> }
>
>
> Modified: llvm/trunk/lib/Analysis/ValueTracking.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/ValueTracking.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Analysis/ValueTracking.cpp (original)
> +++ llvm/trunk/lib/Analysis/ValueTracking.cpp Wed Nov 19 01:49:26 2014
> @@ -331,7 +331,7 @@ static bool isEphemeralValueOf(Instructi
>
> while (!WorkSet.empty()) {
> const Value *V = WorkSet.pop_back_val();
> - if (!Visited.insert(V))
> + if (!Visited.insert(V).second)
> continue;
>
> // If all uses of this value are ephemeral, then so is this value.
> @@ -2405,7 +2405,7 @@ static uint64_t GetStringLengthH(Value *
> // If this is a PHI node, there are two cases: either we have already seen it
> // or we haven't.
> if (PHINode *PN = dyn_cast<PHINode>(V)) {
> - if (!PHIs.insert(PN))
> + if (!PHIs.insert(PN).second)
> return ~0ULL; // already in the set.
>
> // If it was new, see if all the input strings are the same length.
> @@ -2499,7 +2499,7 @@ llvm::GetUnderlyingObjects(Value *V,
> Value *P = Worklist.pop_back_val();
> P = GetUnderlyingObject(P, TD, MaxLookup);
>
> - if (!Visited.insert(P))
> + if (!Visited.insert(P).second)
> continue;
>
> if (SelectInst *SI = dyn_cast<SelectInst>(P)) {
>
> Modified: llvm/trunk/lib/AsmParser/LLParser.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/AsmParser/LLParser.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/AsmParser/LLParser.cpp (original)
> +++ llvm/trunk/lib/AsmParser/LLParser.cpp Wed Nov 19 01:49:26 2014
> @@ -3735,7 +3735,7 @@ bool LLParser::ParseSwitch(Instruction *
> ParseTypeAndBasicBlock(DestBB, PFS))
> return true;
>
> - if (!SeenCases.insert(Constant))
> + if (!SeenCases.insert(Constant).second)
> return Error(CondLoc, "duplicate case value in switch");
> if (!isa<ConstantInt>(Constant))
> return Error(CondLoc, "case value is not a constant integer");
>
> Modified: llvm/trunk/lib/CodeGen/AggressiveAntiDepBreaker.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AggressiveAntiDepBreaker.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/AggressiveAntiDepBreaker.cpp (original)
> +++ llvm/trunk/lib/CodeGen/AggressiveAntiDepBreaker.cpp Wed Nov 19 01:49:26 2014
> @@ -256,7 +256,7 @@ static void AntiDepEdges(const SUnit *SU
> for (SUnit::const_pred_iterator P = SU->Preds.begin(), PE = SU->Preds.end();
> P != PE; ++P) {
> if ((P->getKind() == SDep::Anti) || (P->getKind() == SDep::Output)) {
> - if (RegSet.insert(P->getReg()))
> + if (RegSet.insert(P->getReg()).second)
> Edges.push_back(&*P);
> }
> }
>
> Modified: llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp (original)
> +++ llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp Wed Nov 19 01:49:26 2014
> @@ -1167,7 +1167,8 @@ void AsmPrinter::EmitJumpTableInfo() {
> const MCExpr *Base = TLI->getPICJumpTableRelocBaseExpr(MF,JTI,OutContext);
> for (unsigned ii = 0, ee = JTBBs.size(); ii != ee; ++ii) {
> const MachineBasicBlock *MBB = JTBBs[ii];
> - if (!EmittedSets.insert(MBB)) continue;
> + if (!EmittedSets.insert(MBB).second)
> + continue;
>
> // .set LJTSet, LBB32-base
> const MCExpr *LHS =
>
> Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)
> +++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Wed Nov 19 01:49:26 2014
> @@ -990,7 +990,7 @@ DwarfDebug::collectVariableInfo(DwarfCom
> for (unsigned i = 0, e = Variables.getNumElements(); i != e; ++i) {
> DIVariable DV(Variables.getElement(i));
> assert(DV.isVariable());
> - if (!Processed.insert(DV))
> + if (!Processed.insert(DV).second)
> continue;
> if (LexicalScope *Scope = LScopes.findLexicalScope(DV.getContext())) {
> ensureAbstractVariableIsCreatedIfScoped(DV, Scope->getScopeNode());
> @@ -1287,7 +1287,7 @@ void DwarfDebug::endFunction(const Machi
> for (unsigned i = 0, e = Variables.getNumElements(); i != e; ++i) {
> DIVariable DV(Variables.getElement(i));
> assert(DV && DV.isVariable());
> - if (!ProcessedVars.insert(DV))
> + if (!ProcessedVars.insert(DV).second)
> continue;
> ensureAbstractVariableIsCreated(DV, DV.getContext());
> assert(LScopes.getAbstractScopesList().size() == NumAbstractScopes
>
> Modified: llvm/trunk/lib/CodeGen/BranchFolding.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/BranchFolding.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/BranchFolding.cpp (original)
> +++ llvm/trunk/lib/CodeGen/BranchFolding.cpp Wed Nov 19 01:49:26 2014
> @@ -916,7 +916,7 @@ bool BranchFolder::TailMergeBlocks(Machi
> continue;
>
> // Visit each predecessor only once.
> - if (!UniquePreds.insert(PBB))
> + if (!UniquePreds.insert(PBB).second)
> continue;
>
> // Skip blocks which may jump to a landing pad. Can't tail merge these.
>
> Modified: llvm/trunk/lib/CodeGen/CalcSpillWeights.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/CalcSpillWeights.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/CalcSpillWeights.cpp (original)
> +++ llvm/trunk/lib/CodeGen/CalcSpillWeights.cpp Wed Nov 19 01:49:26 2014
> @@ -120,7 +120,7 @@ VirtRegAuxInfo::calculateSpillWeightAndH
> numInstr++;
> if (mi->isIdentityCopy() || mi->isImplicitDef() || mi->isDebugValue())
> continue;
> - if (!visited.insert(mi))
> + if (!visited.insert(mi).second)
> continue;
>
> float weight = 1.0f;
>
> Modified: llvm/trunk/lib/CodeGen/CodeGenPrepare.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/CodeGenPrepare.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/CodeGenPrepare.cpp (original)
> +++ llvm/trunk/lib/CodeGen/CodeGenPrepare.cpp Wed Nov 19 01:49:26 2014
> @@ -1001,7 +1001,7 @@ bool CodeGenPrepare::DupRetToEnableTailC
> } else {
> SmallPtrSet<BasicBlock*, 4> VisitedBBs;
> for (pred_iterator PI = pred_begin(BB), PE = pred_end(BB); PI != PE; ++PI) {
> - if (!VisitedBBs.insert(*PI))
> + if (!VisitedBBs.insert(*PI).second)
> continue;
>
> BasicBlock::InstListType &InstList = (*PI)->getInstList();
> @@ -2401,7 +2401,7 @@ static bool FindAllMemoryUses(Instructio
> SmallPtrSetImpl<Instruction*> &ConsideredInsts,
> const TargetLowering &TLI) {
> // If we already considered this instruction, we're done.
> - if (!ConsideredInsts.insert(I))
> + if (!ConsideredInsts.insert(I).second)
> return false;
>
> // If this is an obviously unfoldable instruction, bail out.
> @@ -2615,7 +2615,7 @@ bool CodeGenPrepare::OptimizeMemoryInst(
> worklist.pop_back();
>
> // Break use-def graph loops.
> - if (!Visited.insert(V)) {
> + if (!Visited.insert(V).second) {
> Consensus = nullptr;
> break;
> }
>
> Modified: llvm/trunk/lib/CodeGen/EarlyIfConversion.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/EarlyIfConversion.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/EarlyIfConversion.cpp (original)
> +++ llvm/trunk/lib/CodeGen/EarlyIfConversion.cpp Wed Nov 19 01:49:26 2014
> @@ -245,7 +245,7 @@ bool SSAIfConv::canSpeculateInstrs(Machi
> MachineInstr *DefMI = MRI->getVRegDef(Reg);
> if (!DefMI || DefMI->getParent() != Head)
> continue;
> - if (InsertAfter.insert(DefMI))
> + if (InsertAfter.insert(DefMI).second)
> DEBUG(dbgs() << "BB#" << MBB->getNumber() << " depends on " << *DefMI);
> if (DefMI->isTerminator()) {
> DEBUG(dbgs() << "Can't insert instructions below terminator.\n");
>
> Modified: llvm/trunk/lib/CodeGen/InlineSpiller.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/InlineSpiller.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/InlineSpiller.cpp (original)
> +++ llvm/trunk/lib/CodeGen/InlineSpiller.cpp Wed Nov 19 01:49:26 2014
> @@ -823,7 +823,7 @@ void InlineSpiller::markValueUsed(LiveIn
> WorkList.push_back(std::make_pair(LI, VNI));
> do {
> std::tie(LI, VNI) = WorkList.pop_back_val();
> - if (!UsedValues.insert(VNI))
> + if (!UsedValues.insert(VNI).second)
> continue;
>
> if (VNI->isPHIDef()) {
>
> Modified: llvm/trunk/lib/CodeGen/LiveInterval.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LiveInterval.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/LiveInterval.cpp (original)
> +++ llvm/trunk/lib/CodeGen/LiveInterval.cpp Wed Nov 19 01:49:26 2014
> @@ -206,7 +206,7 @@ void LiveRange::RenumberValues() {
> valnos.clear();
> for (const_iterator I = begin(), E = end(); I != E; ++I) {
> VNInfo *VNI = I->valno;
> - if (!Seen.insert(VNI))
> + if (!Seen.insert(VNI).second)
> continue;
> assert(!VNI->isUnused() && "Unused valno used by live segment");
> VNI->id = (unsigned)valnos.size();
>
> Modified: llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp (original)
> +++ llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp Wed Nov 19 01:49:26 2014
> @@ -379,12 +379,13 @@ bool LiveIntervals::shrinkToUses(LiveInt
> (void)ExtVNI;
> assert(ExtVNI == VNI && "Unexpected existing value number");
> // Is this a PHIDef we haven't seen before?
> - if (!VNI->isPHIDef() || VNI->def != BlockStart || !UsedPHIs.insert(VNI))
> + if (!VNI->isPHIDef() || VNI->def != BlockStart ||
> + !UsedPHIs.insert(VNI).second)
> continue;
> // The PHI is live, make sure the predecessors are live-out.
> for (MachineBasicBlock::const_pred_iterator PI = MBB->pred_begin(),
> PE = MBB->pred_end(); PI != PE; ++PI) {
> - if (!LiveOut.insert(*PI))
> + if (!LiveOut.insert(*PI).second)
> continue;
> SlotIndex Stop = getMBBEndIdx(*PI);
> // A predecessor is not required to have a live-out value for a PHI.
> @@ -401,7 +402,7 @@ bool LiveIntervals::shrinkToUses(LiveInt
> // Make sure VNI is live-out from the predecessors.
> for (MachineBasicBlock::const_pred_iterator PI = MBB->pred_begin(),
> PE = MBB->pred_end(); PI != PE; ++PI) {
> - if (!LiveOut.insert(*PI))
> + if (!LiveOut.insert(*PI).second)
> continue;
> SlotIndex Stop = getMBBEndIdx(*PI);
> assert(li->getVNInfoBefore(Stop) == VNI &&
> @@ -784,7 +785,7 @@ private:
> /// Update a single live range, assuming an instruction has been moved from
> /// OldIdx to NewIdx.
> void updateRange(LiveRange &LR, unsigned Reg) {
> - if (!Updated.insert(&LR))
> + if (!Updated.insert(&LR).second)
> return;
> DEBUG({
> dbgs() << " ";
>
> Modified: llvm/trunk/lib/CodeGen/MachineBasicBlock.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineBasicBlock.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/MachineBasicBlock.cpp (original)
> +++ llvm/trunk/lib/CodeGen/MachineBasicBlock.cpp Wed Nov 19 01:49:26 2014
> @@ -1066,7 +1066,7 @@ bool MachineBasicBlock::CorrectExtraCFGE
> MachineBasicBlock::succ_iterator SI = succ_begin();
> while (SI != succ_end()) {
> const MachineBasicBlock *MBB = *SI;
> - if (!SeenMBBs.insert(MBB) ||
> + if (!SeenMBBs.insert(MBB).second ||
> (MBB != DestA && MBB != DestB && !MBB->isLandingPad())) {
> // This is a superfluous edge, remove it.
> SI = removeSuccessor(SI);
>
> Modified: llvm/trunk/lib/CodeGen/MachineBlockPlacement.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineBlockPlacement.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/MachineBlockPlacement.cpp (original)
> +++ llvm/trunk/lib/CodeGen/MachineBlockPlacement.cpp Wed Nov 19 01:49:26 2014
> @@ -813,7 +813,7 @@ void MachineBlockPlacement::buildLoopCha
> BE = L.block_end();
> BI != BE; ++BI) {
> BlockChain &Chain = *BlockToChain[*BI];
> - if (!UpdatedPreds.insert(&Chain))
> + if (!UpdatedPreds.insert(&Chain).second)
> continue;
>
> assert(Chain.LoopPredecessors == 0);
> @@ -914,7 +914,7 @@ void MachineBlockPlacement::buildCFGChai
> for (MachineFunction::iterator FI = F.begin(), FE = F.end(); FI != FE; ++FI) {
> MachineBasicBlock *BB = &*FI;
> BlockChain &Chain = *BlockToChain[BB];
> - if (!UpdatedPreds.insert(&Chain))
> + if (!UpdatedPreds.insert(&Chain).second)
> continue;
>
> assert(Chain.LoopPredecessors == 0);
>
> Modified: llvm/trunk/lib/CodeGen/MachineInstrBundle.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineInstrBundle.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/MachineInstrBundle.cpp (original)
> +++ llvm/trunk/lib/CodeGen/MachineInstrBundle.cpp Wed Nov 19 01:49:26 2014
> @@ -141,7 +141,7 @@ void llvm::finalizeBundle(MachineBasicBl
> // Internal def is now killed.
> KilledDefSet.insert(Reg);
> } else {
> - if (ExternUseSet.insert(Reg)) {
> + if (ExternUseSet.insert(Reg).second) {
> ExternUses.push_back(Reg);
> if (MO.isUndef())
> UndefUseSet.insert(Reg);
> @@ -158,7 +158,7 @@ void llvm::finalizeBundle(MachineBasicBl
> if (!Reg)
> continue;
>
> - if (LocalDefSet.insert(Reg)) {
> + if (LocalDefSet.insert(Reg).second) {
> LocalDefs.push_back(Reg);
> if (MO.isDead()) {
> DeadDefSet.insert(Reg);
> @@ -174,7 +174,7 @@ void llvm::finalizeBundle(MachineBasicBl
> if (!MO.isDead()) {
> for (MCSubRegIterator SubRegs(Reg, TRI); SubRegs.isValid(); ++SubRegs) {
> unsigned SubReg = *SubRegs;
> - if (LocalDefSet.insert(SubReg))
> + if (LocalDefSet.insert(SubReg).second)
> LocalDefs.push_back(SubReg);
> }
> }
> @@ -186,7 +186,7 @@ void llvm::finalizeBundle(MachineBasicBl
> SmallSet<unsigned, 32> Added;
> for (unsigned i = 0, e = LocalDefs.size(); i != e; ++i) {
> unsigned Reg = LocalDefs[i];
> - if (Added.insert(Reg)) {
> + if (Added.insert(Reg).second) {
> // If it's not live beyond end of the bundle, mark it dead.
> bool isDead = DeadDefSet.count(Reg) || KilledDefSet.count(Reg);
> MIB.addReg(Reg, getDefRegState(true) | getDeadRegState(isDead) |
>
> Modified: llvm/trunk/lib/CodeGen/MachineLICM.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineLICM.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/MachineLICM.cpp (original)
> +++ llvm/trunk/lib/CodeGen/MachineLICM.cpp Wed Nov 19 01:49:26 2014
> @@ -818,7 +818,7 @@ void MachineLICM::InitRegPressure(Machin
> if (!TargetRegisterInfo::isVirtualRegister(Reg))
> continue;
>
> - bool isNew = RegSeen.insert(Reg);
> + bool isNew = RegSeen.insert(Reg).second;
> unsigned RCId, RCCost;
> getRegisterClassIDAndCost(MI, Reg, i, RCId, RCCost);
> if (MO.isDef())
> @@ -850,7 +850,7 @@ void MachineLICM::UpdateRegPressure(cons
> if (!TargetRegisterInfo::isVirtualRegister(Reg))
> continue;
>
> - bool isNew = RegSeen.insert(Reg);
> + bool isNew = RegSeen.insert(Reg).second;
> if (MO.isDef())
> Defs.push_back(Reg);
> else if (!isNew && isOperandKill(MO, MRI)) {
>
> Modified: llvm/trunk/lib/CodeGen/MachineSink.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineSink.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/MachineSink.cpp (original)
> +++ llvm/trunk/lib/CodeGen/MachineSink.cpp Wed Nov 19 01:49:26 2014
> @@ -340,7 +340,7 @@ bool MachineSinking::isWorthBreakingCrit
> // If the pass has already considered breaking this edge (during this pass
> // through the function), then let's go ahead and break it. This means
> // sinking multiple "cheap" instructions into the same block.
> - if (!CEBCandidates.insert(std::make_pair(From, To)))
> + if (!CEBCandidates.insert(std::make_pair(From, To)).second)
> return true;
>
> if (!MI->isCopy() && !TII->isAsCheapAsAMove(MI))
>
> Modified: llvm/trunk/lib/CodeGen/MachineTraceMetrics.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineTraceMetrics.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/MachineTraceMetrics.cpp (original)
> +++ llvm/trunk/lib/CodeGen/MachineTraceMetrics.cpp Wed Nov 19 01:49:26 2014
> @@ -449,7 +449,7 @@ public:
> }
> // To is a new block. Mark the block as visited in case the CFG has cycles
> // that MachineLoopInfo didn't recognize as a natural loop.
> - return LB.Visited.insert(To);
> + return LB.Visited.insert(To).second;
> }
> };
> }
>
> Modified: llvm/trunk/lib/CodeGen/OptimizePHIs.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/OptimizePHIs.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/OptimizePHIs.cpp (original)
> +++ llvm/trunk/lib/CodeGen/OptimizePHIs.cpp Wed Nov 19 01:49:26 2014
> @@ -92,7 +92,7 @@ bool OptimizePHIs::IsSingleValuePHICycle
> unsigned DstReg = MI->getOperand(0).getReg();
>
> // See if we already saw this register.
> - if (!PHIsInCycle.insert(MI))
> + if (!PHIsInCycle.insert(MI).second)
> return true;
>
> // Don't scan crazily complex things.
> @@ -137,7 +137,7 @@ bool OptimizePHIs::IsDeadPHICycle(Machin
> "PHI destination is not a virtual register");
>
> // See if we already saw this register.
> - if (!PHIsInCycle.insert(MI))
> + if (!PHIsInCycle.insert(MI).second)
> return true;
>
> // Don't scan crazily complex things.
>
> Modified: llvm/trunk/lib/CodeGen/PHIElimination.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/PHIElimination.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/PHIElimination.cpp (original)
> +++ llvm/trunk/lib/CodeGen/PHIElimination.cpp Wed Nov 19 01:49:26 2014
> @@ -367,7 +367,7 @@ void PHIElimination::LowerPHINode(Machin
> // Check to make sure we haven't already emitted the copy for this block.
> // This can happen because PHI nodes may have multiple entries for the same
> // basic block.
> - if (!MBBsInsertedInto.insert(&opBlock))
> + if (!MBBsInsertedInto.insert(&opBlock).second)
> continue; // If the copy has already been emitted, we're done.
>
> // Find a safe location to insert the copy, this may be the first terminator
>
> Modified: llvm/trunk/lib/CodeGen/RegAllocFast.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/RegAllocFast.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/RegAllocFast.cpp (original)
> +++ llvm/trunk/lib/CodeGen/RegAllocFast.cpp Wed Nov 19 01:49:26 2014
> @@ -708,7 +708,7 @@ void RAFast::handleThroughOperands(Machi
> continue;
> if (MO.isEarlyClobber() || MI->isRegTiedToDefOperand(i) ||
> (MO.getSubReg() && MI->readsVirtualRegister(Reg))) {
> - if (ThroughRegs.insert(Reg))
> + if (ThroughRegs.insert(Reg).second)
> DEBUG(dbgs() << ' ' << PrintReg(Reg));
> }
> }
>
> Modified: llvm/trunk/lib/CodeGen/RegisterCoalescer.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/RegisterCoalescer.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/RegisterCoalescer.cpp (original)
> +++ llvm/trunk/lib/CodeGen/RegisterCoalescer.cpp Wed Nov 19 01:49:26 2014
> @@ -965,7 +965,7 @@ void RegisterCoalescer::updateRegDefsUse
> // the UseMI operands removes them from the SrcReg use-def chain, but when
> // SrcReg is DstReg we could encounter UseMI twice if it has multiple
> // operands mentioning the virtual register.
> - if (SrcReg == DstReg && !Visited.insert(UseMI))
> + if (SrcReg == DstReg && !Visited.insert(UseMI).second)
> continue;
>
> SmallVector<unsigned,8> Ops;
>
> Modified: llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp (original)
> +++ llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp Wed Nov 19 01:49:26 2014
> @@ -109,7 +109,7 @@ static void getUnderlyingObjects(const V
> for (SmallVectorImpl<Value *>::iterator I = Objs.begin(), IE = Objs.end();
> I != IE; ++I) {
> V = *I;
> - if (!Visited.insert(V))
> + if (!Visited.insert(V).second)
> continue;
> if (Operator::getOpcode(V) == Instruction::IntToPtr) {
> const Value *O =
> @@ -588,7 +588,7 @@ iterateChainSucc(AliasAnalysis *AA, cons
> return *Depth;
>
> // Remember visited nodes.
> - if (!Visited.insert(SUb))
> + if (!Visited.insert(SUb).second)
> return *Depth;
> // If there is _some_ dependency already in place, do not
> // descend any further.
>
> Modified: llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (original)
> +++ llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp Wed Nov 19 01:49:26 2014
> @@ -1493,7 +1493,7 @@ SDValue DAGCombiner::visitTokenFactor(SD
>
> default:
> // Only add if it isn't already in the list.
> - if (SeenOps.insert(Op.getNode()))
> + if (SeenOps.insert(Op.getNode()).second)
> Ops.push_back(Op);
> else
> Changed = true;
> @@ -12267,7 +12267,7 @@ void DAGCombiner::GatherAllAliases(SDNod
> }
>
> // Don't bother if we've been before.
> - if (!Visited.insert(Chain.getNode()))
> + if (!Visited.insert(Chain.getNode()).second)
> continue;
>
> switch (Chain.getOpcode()) {
> @@ -12355,7 +12355,8 @@ void DAGCombiner::GatherAllAliases(SDNod
>
> for (SDNode::use_iterator UI = M->use_begin(),
> UIE = M->use_end(); UI != UIE; ++UI)
> - if (UI.getUse().getValueType() == MVT::Other && Visited.insert(*UI)) {
> + if (UI.getUse().getValueType() == MVT::Other &&
> + Visited.insert(*UI).second) {
> if (isa<MemIntrinsicSDNode>(*UI) || isa<MemSDNode>(*UI)) {
> // We've not visited this use, and we care about it (it could have an
> // ordering dependency with the original node).
>
> Modified: llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp (original)
> +++ llvm/trunk/lib/CodeGen/SelectionDAG/FastISel.cpp Wed Nov 19 01:49:26 2014
> @@ -1976,7 +1976,7 @@ bool FastISel::handlePHINodesInSuccessor
>
> // If this terminator has multiple identical successors (common for
> // switches), only handle each succ once.
> - if (!SuccsHandled.insert(SuccMBB))
> + if (!SuccsHandled.insert(SuccMBB).second)
> continue;
>
> MachineBasicBlock::iterator MBBI = SuccMBB->begin();
>
> Modified: llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp (original)
> +++ llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Wed Nov 19 01:49:26 2014
> @@ -4343,7 +4343,7 @@ void SelectionDAG::Legalize() {
> continue;
> }
>
> - if (LegalizedNodes.insert(N)) {
> + if (LegalizedNodes.insert(N).second) {
> AnyLegalized = true;
> Legalizer.LegalizeOp(N);
>
>
> Modified: llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp (original)
> +++ llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp Wed Nov 19 01:49:26 2014
> @@ -460,7 +460,7 @@ static bool CheckForLiveRegDef(SUnit *SU
> bool Added = false;
> for (MCRegAliasIterator AI(Reg, TRI, true); AI.isValid(); ++AI) {
> if (LiveRegDefs[*AI] && LiveRegDefs[*AI] != SU) {
> - if (RegAdded.insert(*AI)) {
> + if (RegAdded.insert(*AI).second) {
> LRegs.push_back(*AI);
> Added = true;
> }
>
> Modified: llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp (original)
> +++ llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp Wed Nov 19 01:49:26 2014
> @@ -1223,7 +1223,7 @@ static void CheckForLiveRegDef(SUnit *SU
> if (LiveRegDefs[*AliasI] == SU) continue;
>
> // Add Reg to the set of interfering live regs.
> - if (RegAdded.insert(*AliasI)) {
> + if (RegAdded.insert(*AliasI).second) {
> LRegs.push_back(*AliasI);
> }
> }
> @@ -1240,7 +1240,7 @@ static void CheckForLiveRegDefMasked(SUn
> if (!LiveRegDefs[i]) continue;
> if (LiveRegDefs[i] == SU) continue;
> if (!MachineOperand::clobbersPhysReg(RegMask, i)) continue;
> - if (RegAdded.insert(i))
> + if (RegAdded.insert(i).second)
> LRegs.push_back(i);
> }
> }
> @@ -1315,7 +1315,8 @@ DelayForLiveRegsBottomUp(SUnit *SU, Smal
> SDNode *Gen = LiveRegGens[CallResource]->getNode();
> while (SDNode *Glued = Gen->getGluedNode())
> Gen = Glued;
> - if (!IsChainDependent(Gen, Node, 0, TII) && RegAdded.insert(CallResource))
> + if (!IsChainDependent(Gen, Node, 0, TII) &&
> + RegAdded.insert(CallResource).second)
> LRegs.push_back(CallResource);
> }
> }
>
> Modified: llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp (original)
> +++ llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp Wed Nov 19 01:49:26 2014
> @@ -230,7 +230,7 @@ void ScheduleDAGSDNodes::ClusterNeighbor
> for (SDNode::use_iterator I = Chain->use_begin(), E = Chain->use_end();
> I != E && UseCount < 100; ++I, ++UseCount) {
> SDNode *User = *I;
> - if (User == Node || !Visited.insert(User))
> + if (User == Node || !Visited.insert(User).second)
> continue;
> int64_t Offset1, Offset2;
> if (!TII->areLoadsFromSameBasePtr(Base, User, Offset1, Offset2) ||
> @@ -343,7 +343,7 @@ void ScheduleDAGSDNodes::BuildSchedUnits
>
> // Add all operands to the worklist unless they've already been added.
> for (unsigned i = 0, e = NI->getNumOperands(); i != e; ++i)
> - if (Visited.insert(NI->getOperand(i).getNode()))
> + if (Visited.insert(NI->getOperand(i).getNode()).second)
> Worklist.push_back(NI->getOperand(i).getNode());
>
> if (isPassiveNode(NI)) // Leaf node, e.g. a TargetImmediate.
> @@ -737,7 +737,7 @@ ProcessSourceNode(SDNode *N, SelectionDA
> SmallVectorImpl<std::pair<unsigned, MachineInstr*> > &Orders,
> SmallSet<unsigned, 8> &Seen) {
> unsigned Order = N->getIROrder();
> - if (!Order || !Seen.insert(Order)) {
> + if (!Order || !Seen.insert(Order).second) {
> // Process any valid SDDbgValues even if node does not have any order
> // assigned.
> ProcessSDDbgValues(N, DAG, Emitter, Orders, VRBaseMap, 0);
>
> Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (original)
> +++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp Wed Nov 19 01:49:26 2014
> @@ -6385,7 +6385,7 @@ SDNode::hasPredecessorHelper(const SDNod
> const SDNode *M = Worklist.pop_back_val();
> for (unsigned i = 0, e = M->getNumOperands(); i != e; ++i) {
> SDNode *Op = M->getOperand(i).getNode();
> - if (Visited.insert(Op))
> + if (Visited.insert(Op).second)
> Worklist.push_back(Op);
> if (Op == N)
> return true;
> @@ -6753,7 +6753,7 @@ static void checkForCyclesHelper(const S
>
> // If a node has already been visited on this depth-first walk, reject it as
> // a cycle.
> - if (!Visited.insert(N)) {
> + if (!Visited.insert(N).second) {
> errs() << "Detected cycle in SelectionDAG\n";
> dbgs() << "Offending node:\n";
> N->dumprFull(DAG); dbgs() << "\n";
>
> Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (original)
> +++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp Wed Nov 19 01:49:26 2014
> @@ -2760,7 +2760,7 @@ void SelectionDAGBuilder::visitIndirectB
> SmallSet<BasicBlock*, 32> Done;
> for (unsigned i = 0, e = I.getNumSuccessors(); i != e; ++i) {
> BasicBlock *BB = I.getSuccessor(i);
> - bool Inserted = Done.insert(BB);
> + bool Inserted = Done.insert(BB).second;
> if (!Inserted)
> continue;
>
> @@ -7697,7 +7697,8 @@ SelectionDAGBuilder::HandlePHINodesInSuc
>
> // If this terminator has multiple identical successors (common for
> // switches), only handle each succ once.
> - if (!SuccsHandled.insert(SuccMBB)) continue;
> + if (!SuccsHandled.insert(SuccMBB).second)
> + continue;
>
> MachineBasicBlock::iterator MBBI = SuccMBB->begin();
>
>
> Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp (original)
> +++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp Wed Nov 19 01:49:26 2014
> @@ -569,7 +569,7 @@ void SDNode::printr(raw_ostream &OS, con
> typedef SmallPtrSet<const SDNode *, 128> VisitedSDNodeSet;
> static void DumpNodesr(raw_ostream &OS, const SDNode *N, unsigned indent,
> const SelectionDAG *G, VisitedSDNodeSet &once) {
> - if (!once.insert(N)) // If we've been here before, return now.
> + if (!once.insert(N).second) // If we've been here before, return now.
> return;
>
> // Dump the current SDNode, but don't end the line yet.
>
> Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (original)
> +++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp Wed Nov 19 01:49:26 2014
> @@ -615,7 +615,7 @@ void SelectionDAGISel::ComputeLiveOutVRe
> SDNode *N = Worklist.pop_back_val();
>
> // If we've already seen this node, ignore it.
> - if (!VisitedNodes.insert(N))
> + if (!VisitedNodes.insert(N).second)
> continue;
>
> // Otherwise, add all chain operands to the worklist.
> @@ -1741,7 +1741,7 @@ static bool findNonImmUse(SDNode *Use, S
>
> // Don't revisit nodes if we already scanned it and didn't fail, we know we
> // won't fail if we scan it again.
> - if (!Visited.insert(Use))
> + if (!Visited.insert(Use).second)
> return false;
>
> for (unsigned i = 0, e = Use->getNumOperands(); i != e; ++i) {
>
> Modified: llvm/trunk/lib/CodeGen/SjLjEHPrepare.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SjLjEHPrepare.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/SjLjEHPrepare.cpp (original)
> +++ llvm/trunk/lib/CodeGen/SjLjEHPrepare.cpp Wed Nov 19 01:49:26 2014
> @@ -140,7 +140,7 @@ void SjLjEHPrepare::insertCallSiteStore(
> /// we reach blocks we've already seen.
> static void MarkBlocksLiveIn(BasicBlock *BB,
> SmallPtrSetImpl<BasicBlock *> &LiveBBs) {
> - if (!LiveBBs.insert(BB))
> + if (!LiveBBs.insert(BB).second)
> return; // already been here.
>
> for (pred_iterator PI = pred_begin(BB), E = pred_end(BB); PI != E; ++PI)
>
> Modified: llvm/trunk/lib/CodeGen/StackProtector.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/StackProtector.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/StackProtector.cpp (original)
> +++ llvm/trunk/lib/CodeGen/StackProtector.cpp Wed Nov 19 01:49:26 2014
> @@ -169,7 +169,7 @@ bool StackProtector::HasAddressTaken(con
> } else if (const PHINode *PN = dyn_cast<PHINode>(U)) {
> // Keep track of what PHI nodes we have already visited to ensure
> // they are only visited once.
> - if (VisitedPHIs.insert(PN))
> + if (VisitedPHIs.insert(PN).second)
> if (HasAddressTaken(PN))
> return true;
> } else if (const GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(U)) {
>
> Modified: llvm/trunk/lib/CodeGen/TwoAddressInstructionPass.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/TwoAddressInstructionPass.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/TwoAddressInstructionPass.cpp (original)
> +++ llvm/trunk/lib/CodeGen/TwoAddressInstructionPass.cpp Wed Nov 19 01:49:26 2014
> @@ -678,7 +678,7 @@ TwoAddressInstructionPass::scanUses(unsi
> unsigned Reg = DstReg;
> while (MachineInstr *UseMI = findOnlyInterestingUse(Reg, MBB, MRI, TII,IsCopy,
> NewReg, IsDstPhys)) {
> - if (IsCopy && !Processed.insert(UseMI))
> + if (IsCopy && !Processed.insert(UseMI).second)
> break;
>
> DenseMap<MachineInstr*, unsigned>::iterator DI = DistanceMap.find(UseMI);
>
> Modified: llvm/trunk/lib/IR/Constants.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Constants.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/IR/Constants.cpp (original)
> +++ llvm/trunk/lib/IR/Constants.cpp Wed Nov 19 01:49:26 2014
> @@ -316,7 +316,7 @@ static bool canTrapImpl(const Constant *
> // ConstantExpr traps if any operands can trap.
> for (unsigned i = 0, e = C->getNumOperands(); i != e; ++i) {
> if (ConstantExpr *Op = dyn_cast<ConstantExpr>(CE->getOperand(i))) {
> - if (NonTrappingOps.insert(Op) && canTrapImpl(Op, NonTrappingOps))
> + if (NonTrappingOps.insert(Op).second && canTrapImpl(Op, NonTrappingOps))
> return true;
> }
> }
> @@ -363,7 +363,7 @@ ConstHasGlobalValuePredicate(const Const
> const Constant *ConstOp = dyn_cast<Constant>(Op);
> if (!ConstOp)
> continue;
> - if (Visited.insert(ConstOp))
> + if (Visited.insert(ConstOp).second)
> WorkList.push_back(ConstOp);
> }
> }
>
> Modified: llvm/trunk/lib/IR/DIBuilder.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/DIBuilder.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/IR/DIBuilder.cpp (original)
> +++ llvm/trunk/lib/IR/DIBuilder.cpp Wed Nov 19 01:49:26 2014
> @@ -64,7 +64,7 @@ void DIBuilder::finalize() {
> // TrackingVHs back into Values.
> SmallPtrSet<Value *, 16> RetainSet;
> for (unsigned I = 0, E = AllRetainTypes.size(); I < E; I++)
> - if (RetainSet.insert(AllRetainTypes[I]))
> + if (RetainSet.insert(AllRetainTypes[I]).second)
> RetainValues.push_back(AllRetainTypes[I]);
> DIArray RetainTypes = getOrCreateArray(RetainValues);
> DIType(TempRetainTypes).replaceAllUsesWith(RetainTypes);
>
> Modified: llvm/trunk/lib/IR/DebugInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/DebugInfo.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/IR/DebugInfo.cpp (original)
> +++ llvm/trunk/lib/IR/DebugInfo.cpp Wed Nov 19 01:49:26 2014
> @@ -1127,7 +1127,7 @@ void DebugInfoFinder::processDeclare(con
> if (!DV.isVariable())
> return;
>
> - if (!NodesSeen.insert(DV))
> + if (!NodesSeen.insert(DV).second)
> return;
> processScope(DIVariable(N).getContext());
> processType(DIVariable(N).getType().resolve(TypeIdentifierMap));
> @@ -1143,7 +1143,7 @@ void DebugInfoFinder::processValue(const
> if (!DV.isVariable())
> return;
>
> - if (!NodesSeen.insert(DV))
> + if (!NodesSeen.insert(DV).second)
> return;
> processScope(DIVariable(N).getContext());
> processType(DIVariable(N).getType().resolve(TypeIdentifierMap));
> @@ -1153,7 +1153,7 @@ bool DebugInfoFinder::addType(DIType DT)
> if (!DT)
> return false;
>
> - if (!NodesSeen.insert(DT))
> + if (!NodesSeen.insert(DT).second)
> return false;
>
> TYs.push_back(DT);
> @@ -1163,7 +1163,7 @@ bool DebugInfoFinder::addType(DIType DT)
> bool DebugInfoFinder::addCompileUnit(DICompileUnit CU) {
> if (!CU)
> return false;
> - if (!NodesSeen.insert(CU))
> + if (!NodesSeen.insert(CU).second)
> return false;
>
> CUs.push_back(CU);
> @@ -1174,7 +1174,7 @@ bool DebugInfoFinder::addGlobalVariable(
> if (!DIG)
> return false;
>
> - if (!NodesSeen.insert(DIG))
> + if (!NodesSeen.insert(DIG).second)
> return false;
>
> GVs.push_back(DIG);
> @@ -1185,7 +1185,7 @@ bool DebugInfoFinder::addSubprogram(DISu
> if (!SP)
> return false;
>
> - if (!NodesSeen.insert(SP))
> + if (!NodesSeen.insert(SP).second)
> return false;
>
> SPs.push_back(SP);
> @@ -1199,7 +1199,7 @@ bool DebugInfoFinder::addScope(DIScope S
> // as null for now.
> if (Scope->getNumOperands() == 0)
> return false;
> - if (!NodesSeen.insert(Scope))
> + if (!NodesSeen.insert(Scope).second)
> return false;
> Scopes.push_back(Scope);
> return true;
>
> Modified: llvm/trunk/lib/IR/Type.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Type.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/IR/Type.cpp (original)
> +++ llvm/trunk/lib/IR/Type.cpp Wed Nov 19 01:49:26 2014
> @@ -562,7 +562,7 @@ bool StructType::isSized(SmallPtrSetImpl
> if (isOpaque())
> return false;
>
> - if (Visited && !Visited->insert(this))
> + if (Visited && !Visited->insert(this).second)
> return false;
>
> // Okay, our struct is sized if all of the elements are, but if one of the
>
> Modified: llvm/trunk/lib/IR/Value.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Value.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/IR/Value.cpp (original)
> +++ llvm/trunk/lib/IR/Value.cpp Wed Nov 19 01:49:26 2014
> @@ -292,7 +292,7 @@ void Value::takeName(Value *V) {
> #ifndef NDEBUG
> static bool contains(SmallPtrSetImpl<ConstantExpr *> &Cache, ConstantExpr *Expr,
> Constant *C) {
> - if (!Cache.insert(Expr))
> + if (!Cache.insert(Expr).second)
> return false;
>
> for (auto &O : Expr->operands()) {
> @@ -401,7 +401,7 @@ static Value *stripPointerCastsAndOffset
> return V;
> }
> assert(V->getType()->isPointerTy() && "Unexpected operand type!");
> - } while (Visited.insert(V));
> + } while (Visited.insert(V).second);
>
> return V;
> }
> @@ -451,7 +451,7 @@ Value *Value::stripAndAccumulateInBounds
> return V;
> }
> assert(V->getType()->isPointerTy() && "Unexpected operand type!");
> - } while (Visited.insert(V));
> + } while (Visited.insert(V).second);
>
> return V;
> }
> @@ -522,7 +522,7 @@ static bool isDereferenceablePointer(con
> // For GEPs, determine if the indexing lands within the allocated object.
> if (const GEPOperator *GEP = dyn_cast<GEPOperator>(V)) {
> // Conservatively require that the base pointer be fully dereferenceable.
> - if (!Visited.insert(GEP->getOperand(0)))
> + if (!Visited.insert(GEP->getOperand(0)).second)
> return false;
> if (!isDereferenceablePointer(GEP->getOperand(0), DL, Visited))
> return false;
>
> Modified: llvm/trunk/lib/IR/Verifier.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Verifier.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/IR/Verifier.cpp (original)
> +++ llvm/trunk/lib/IR/Verifier.cpp Wed Nov 19 01:49:26 2014
> @@ -480,7 +480,7 @@ void Verifier::visitGlobalVariable(const
>
> while (!WorkStack.empty()) {
> const Value *V = WorkStack.pop_back_val();
> - if (!Visited.insert(V))
> + if (!Visited.insert(V).second)
> continue;
>
> if (const User *U = dyn_cast<User>(V)) {
> @@ -510,7 +510,7 @@ void Verifier::visitAliaseeSubExpr(Small
> Assert1(!GV->isDeclaration(), "Alias must point to a definition", &GA);
>
> if (const auto *GA2 = dyn_cast<GlobalAlias>(GV)) {
> - Assert1(Visited.insert(GA2), "Aliases cannot form a cycle", &GA);
> + Assert1(Visited.insert(GA2).second, "Aliases cannot form a cycle", &GA);
>
> Assert1(!GA2->mayBeOverridden(), "Alias cannot point to a weak alias",
> &GA);
> @@ -568,7 +568,7 @@ void Verifier::visitNamedMDNode(const Na
> void Verifier::visitMDNode(MDNode &MD, Function *F) {
> // Only visit each node once. Metadata can be mutually recursive, so this
> // avoids infinite recursion here, as well as being an optimization.
> - if (!MDNodes.insert(&MD))
> + if (!MDNodes.insert(&MD).second)
> return;
>
> for (unsigned i = 0, e = MD.getNumOperands(); i != e; ++i) {
> @@ -1218,7 +1218,7 @@ void Verifier::visitSwitchInst(SwitchIns
> for (SwitchInst::CaseIt i = SI.case_begin(), e = SI.case_end(); i != e; ++i) {
> Assert1(i.getCaseValue()->getType() == SwitchTy,
> "Switch constants must all be same type as switch value!", &SI);
> - Assert2(Constants.insert(i.getCaseValue()),
> + Assert2(Constants.insert(i.getCaseValue()).second,
> "Duplicate integer as switch case", &SI, i.getCaseValue());
> }
>
> @@ -2253,7 +2253,7 @@ void Verifier::visitInstruction(Instruct
>
> while (!Stack.empty()) {
> const ConstantExpr *V = Stack.pop_back_val();
> - if (!Visited.insert(V))
> + if (!Visited.insert(V).second)
> continue;
>
> VerifyConstantExprBitcastType(V);
>
> Modified: llvm/trunk/lib/Linker/LinkModules.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Linker/LinkModules.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Linker/LinkModules.cpp (original)
> +++ llvm/trunk/lib/Linker/LinkModules.cpp Wed Nov 19 01:49:26 2014
> @@ -152,7 +152,7 @@ bool TypeMapTy::areTypesIsomorphic(Type
> // same opaque type then we fail.
> if (cast<StructType>(DstTy)->isOpaque()) {
> // We can only map one source type onto the opaque destination type.
> - if (!DstResolvedOpaqueTypes.insert(cast<StructType>(DstTy)))
> + if (!DstResolvedOpaqueTypes.insert(cast<StructType>(DstTy)).second)
> return false;
> SrcDefinitionsToResolve.push_back(SSTy);
> Entry = DstTy;
>
> Modified: llvm/trunk/lib/Support/CommandLine.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/CommandLine.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Support/CommandLine.cpp (original)
> +++ llvm/trunk/lib/Support/CommandLine.cpp Wed Nov 19 01:49:26 2014
> @@ -1455,7 +1455,7 @@ sortOpts(StringMap<Option*> &OptMap,
> continue;
>
> // If we've already seen this option, don't add it to the list again.
> - if (!OptionSet.insert(I->second))
> + if (!OptionSet.insert(I->second).second)
> continue;
>
> Opts.push_back(std::pair<const char *, Option*>(I->getKey().data(),
>
> Modified: llvm/trunk/lib/Support/SmallPtrSet.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/SmallPtrSet.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Support/SmallPtrSet.cpp (original)
> +++ llvm/trunk/lib/Support/SmallPtrSet.cpp Wed Nov 19 01:49:26 2014
> @@ -34,18 +34,19 @@ void SmallPtrSetImplBase::shrink_and_cle
> memset(CurArray, -1, CurArraySize*sizeof(void*));
> }
>
> -bool SmallPtrSetImplBase::insert_imp(const void * Ptr) {
> +std::pair<const void *const *, bool>
> +SmallPtrSetImplBase::insert_imp(const void *Ptr) {
> if (isSmall()) {
> // Check to see if it is already in the set.
> for (const void **APtr = SmallArray, **E = SmallArray+NumElements;
> APtr != E; ++APtr)
> if (*APtr == Ptr)
> - return false;
> -
> + return std::make_pair(APtr, false);
> +
> // Nope, there isn't. If we stay small, just 'pushback' now.
> if (NumElements < CurArraySize) {
> SmallArray[NumElements++] = Ptr;
> - return true;
> + return std::make_pair(SmallArray + (NumElements - 1), true);
> }
> // Otherwise, hit the big set case, which will call grow.
> }
> @@ -61,14 +62,15 @@ bool SmallPtrSetImplBase::insert_imp(con
>
> // Okay, we know we have space. Find a hash bucket.
> const void **Bucket = const_cast<const void**>(FindBucketFor(Ptr));
> - if (*Bucket == Ptr) return false; // Already inserted, good.
> -
> + if (*Bucket == Ptr)
> + return std::make_pair(Bucket, false); // Already inserted, good.
> +
> // Otherwise, insert it!
> if (*Bucket == getTombstoneMarker())
> --NumTombstones;
> *Bucket = Ptr;
> ++NumElements; // Track density.
> - return true;
> + return std::make_pair(Bucket, true);
> }
>
> bool SmallPtrSetImplBase::erase_imp(const void * Ptr) {
>
> Modified: llvm/trunk/lib/Target/AArch64/AArch64PromoteConstant.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64PromoteConstant.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/AArch64/AArch64PromoteConstant.cpp (original)
> +++ llvm/trunk/lib/Target/AArch64/AArch64PromoteConstant.cpp Wed Nov 19 01:49:26 2014
> @@ -569,7 +569,7 @@ bool AArch64PromoteConstant::runOnFuncti
> // global. Do not promote constant expressions either, as they may
> // require some code expansion.
> if (Cst && !isa<GlobalValue>(Cst) && !isa<ConstantExpr>(Cst) &&
> - AlreadyChecked.insert(Cst))
> + AlreadyChecked.insert(Cst).second)
> LocalChange |= promoteConstant(Cst);
> }
> }
>
> Modified: llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp (original)
> +++ llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp Wed Nov 19 01:49:26 2014
> @@ -6943,7 +6943,7 @@ EmitSjLjDispatchBlock(MachineInstr *MI,
> for (std::vector<MachineBasicBlock*>::iterator
> I = LPadList.begin(), E = LPadList.end(); I != E; ++I) {
> MachineBasicBlock *CurMBB = *I;
> - if (SeenMBBs.insert(CurMBB))
> + if (SeenMBBs.insert(CurMBB).second)
> DispContBB->addSuccessor(CurMBB);
> }
>
>
> Modified: llvm/trunk/lib/Target/Mips/MipsDelaySlotFiller.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsDelaySlotFiller.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Mips/MipsDelaySlotFiller.cpp (original)
> +++ llvm/trunk/lib/Target/Mips/MipsDelaySlotFiller.cpp Wed Nov 19 01:49:26 2014
> @@ -455,7 +455,8 @@ bool MemDefsUses::hasHazard_(const Machi
>
> bool MemDefsUses::updateDefsUses(ValueType V, bool MayStore) {
> if (MayStore)
> - return !Defs.insert(V) || Uses.count(V) || SeenNoObjStore || SeenNoObjLoad;
> + return !Defs.insert(V).second || Uses.count(V) || SeenNoObjStore ||
> + SeenNoObjLoad;
>
> Uses.insert(V);
> return Defs.count(V) || SeenNoObjStore;
>
> Modified: llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp (original)
> +++ llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp Wed Nov 19 01:49:26 2014
> @@ -7649,7 +7649,7 @@ static bool findConsecutiveLoad(LoadSDNo
> // nodes just above the top-level loads and token factors.
> while (!Queue.empty()) {
> SDNode *ChainNext = Queue.pop_back_val();
> - if (!Visited.insert(ChainNext))
> + if (!Visited.insert(ChainNext).second)
> continue;
>
> if (MemSDNode *ChainLD = dyn_cast<MemSDNode>(ChainNext)) {
> @@ -7680,7 +7680,7 @@ static bool findConsecutiveLoad(LoadSDNo
>
> while (!Queue.empty()) {
> SDNode *LoadRoot = Queue.pop_back_val();
> - if (!Visited.insert(LoadRoot))
> + if (!Visited.insert(LoadRoot).second)
> continue;
>
> if (MemSDNode *ChainLD = dyn_cast<MemSDNode>(LoadRoot))
> @@ -7810,7 +7810,7 @@ SDValue PPCTargetLowering::DAGCombineTru
> SDValue BinOp = BinOps.back();
> BinOps.pop_back();
>
> - if (!Visited.insert(BinOp.getNode()))
> + if (!Visited.insert(BinOp.getNode()).second)
> continue;
>
> PromOps.push_back(BinOp);
> @@ -8024,7 +8024,7 @@ SDValue PPCTargetLowering::DAGCombineExt
> SDValue BinOp = BinOps.back();
> BinOps.pop_back();
>
> - if (!Visited.insert(BinOp.getNode()))
> + if (!Visited.insert(BinOp.getNode()).second)
> continue;
>
> PromOps.push_back(BinOp);
>
> Modified: llvm/trunk/lib/Target/X86/X86FloatingPoint.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86FloatingPoint.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86FloatingPoint.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86FloatingPoint.cpp Wed Nov 19 01:49:26 2014
> @@ -330,7 +330,7 @@ bool FPS::runOnMachineFunction(MachineFu
> // Process any unreachable blocks in arbitrary order now.
> if (MF.size() != Processed.size())
> for (MachineFunction::iterator BB = MF.begin(), E = MF.end(); BB != E; ++BB)
> - if (Processed.insert(BB))
> + if (Processed.insert(BB).second)
> Changed |= processBasicBlock(MF, *BB);
>
> LiveBundles.clear();
>
> Modified: llvm/trunk/lib/Transforms/IPO/ArgumentPromotion.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/ArgumentPromotion.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/IPO/ArgumentPromotion.cpp (original)
> +++ llvm/trunk/lib/Transforms/IPO/ArgumentPromotion.cpp Wed Nov 19 01:49:26 2014
> @@ -182,7 +182,7 @@ bool ArgPromotion::canPaddingBeAccessed(
> Value *V = WorkList.back();
> WorkList.pop_back();
> if (isa<GetElementPtrInst>(V) || isa<PHINode>(V)) {
> - if (PtrValues.insert(V))
> + if (PtrValues.insert(V).second)
> WorkList.insert(WorkList.end(), V->user_begin(), V->user_end());
> } else if (StoreInst *Store = dyn_cast<StoreInst>(V)) {
> Stores.push_back(Store);
>
> Modified: llvm/trunk/lib/Transforms/IPO/FunctionAttrs.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/FunctionAttrs.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/IPO/FunctionAttrs.cpp (original)
> +++ llvm/trunk/lib/Transforms/IPO/FunctionAttrs.cpp Wed Nov 19 01:49:26 2014
> @@ -446,7 +446,7 @@ determinePointerReadAttrs(Argument *A,
> case Instruction::AddrSpaceCast:
> // The original value is not read/written via this if the new value isn't.
> for (Use &UU : I->uses())
> - if (Visited.insert(&UU))
> + if (Visited.insert(&UU).second)
> Worklist.push_back(&UU);
> break;
>
> @@ -460,7 +460,7 @@ determinePointerReadAttrs(Argument *A,
> auto AddUsersToWorklistIfCapturing = [&] {
> if (Captures)
> for (Use &UU : I->uses())
> - if (Visited.insert(&UU))
> + if (Visited.insert(&UU).second)
> Worklist.push_back(&UU);
> };
>
>
> Modified: llvm/trunk/lib/Transforms/IPO/GlobalDCE.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/GlobalDCE.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/IPO/GlobalDCE.cpp (original)
> +++ llvm/trunk/lib/Transforms/IPO/GlobalDCE.cpp Wed Nov 19 01:49:26 2014
> @@ -185,7 +185,7 @@ bool GlobalDCE::runOnModule(Module &M) {
> /// recursively mark anything that it uses as also needed.
> void GlobalDCE::GlobalIsNeeded(GlobalValue *G) {
> // If the global is already in the set, no need to reprocess it.
> - if (!AliveGlobals.insert(G))
> + if (!AliveGlobals.insert(G).second)
> return;
>
> Module *M = G->getParent();
> @@ -238,7 +238,7 @@ void GlobalDCE::MarkUsedGlobalsAsNeeded(
> for (User::op_iterator I = C->op_begin(), E = C->op_end(); I != E; ++I) {
> // If we've already processed this constant there's no need to do it again.
> Constant *Op = dyn_cast<Constant>(*I);
> - if (Op && SeenConstants.insert(Op))
> + if (Op && SeenConstants.insert(Op).second)
> MarkUsedGlobalsAsNeeded(Op);
> }
> }
>
> Modified: llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp (original)
> +++ llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpp Wed Nov 19 01:49:26 2014
> @@ -639,7 +639,7 @@ static bool AllUsesOfValueWillTrapIfNull
> } else if (const PHINode *PN = dyn_cast<PHINode>(U)) {
> // If we've already seen this phi node, ignore it, it has already been
> // checked.
> - if (PHIs.insert(PN) && !AllUsesOfValueWillTrapIfNull(PN, PHIs))
> + if (PHIs.insert(PN).second && !AllUsesOfValueWillTrapIfNull(PN, PHIs))
> return false;
> } else if (isa<ICmpInst>(U) &&
> isa<ConstantPointerNull>(U->getOperand(1))) {
> @@ -982,7 +982,7 @@ static bool ValueIsOnlyUsedLocallyOrStor
> if (const PHINode *PN = dyn_cast<PHINode>(Inst)) {
> // PHIs are ok if all uses are ok. Don't infinitely recurse through PHI
> // cycles.
> - if (PHIs.insert(PN))
> + if (PHIs.insert(PN).second)
> if (!ValueIsOnlyUsedLocallyOrStoredToOneGlobal(PN, GV, PHIs))
> return false;
> continue;
> @@ -1073,11 +1073,11 @@ static bool LoadUsesSimpleEnoughForHeapS
> }
>
> if (const PHINode *PN = dyn_cast<PHINode>(UI)) {
> - if (!LoadUsingPHIsPerLoad.insert(PN))
> + if (!LoadUsingPHIsPerLoad.insert(PN).second)
> // This means some phi nodes are dependent on each other.
> // Avoid infinite looping!
> return false;
> - if (!LoadUsingPHIs.insert(PN))
> + if (!LoadUsingPHIs.insert(PN).second)
> // If we have already analyzed this PHI, then it is safe.
> continue;
>
> @@ -2045,7 +2045,8 @@ isSimpleEnoughValueToCommit(Constant *C,
> SmallPtrSetImpl<Constant*> &SimpleConstants,
> const DataLayout *DL) {
> // If we already checked this constant, we win.
> - if (!SimpleConstants.insert(C)) return true;
> + if (!SimpleConstants.insert(C).second)
> + return true;
> // Check the constant.
> return isSimpleEnoughValueToCommitHelper(C, SimpleConstants, DL);
> }
> @@ -2670,7 +2671,7 @@ bool Evaluator::EvaluateFunction(Functio
> // Okay, we succeeded in evaluating this control flow. See if we have
> // executed the new block before. If so, we have a looping function,
> // which we cannot evaluate in reasonable time.
> - if (!ExecutedBlocks.insert(NextBB))
> + if (!ExecutedBlocks.insert(NextBB).second)
> return false; // looped!
>
> // Okay, we have never been in this block before. Check to see if there
> @@ -2779,8 +2780,10 @@ public:
> }
> bool usedErase(GlobalValue *GV) { return Used.erase(GV); }
> bool compilerUsedErase(GlobalValue *GV) { return CompilerUsed.erase(GV); }
> - bool usedInsert(GlobalValue *GV) { return Used.insert(GV); }
> - bool compilerUsedInsert(GlobalValue *GV) { return CompilerUsed.insert(GV); }
> + bool usedInsert(GlobalValue *GV) { return Used.insert(GV).second; }
> + bool compilerUsedInsert(GlobalValue *GV) {
> + return CompilerUsed.insert(GV).second;
> + }
>
> void syncVariablesAndSets() {
> if (UsedV)
> @@ -2973,7 +2976,7 @@ static bool cxxDtorIsEmpty(const Functio
> SmallPtrSet<const Function *, 8> NewCalledFunctions(CalledFunctions);
>
> // Don't treat recursive functions as empty.
> - if (!NewCalledFunctions.insert(CalledFn))
> + if (!NewCalledFunctions.insert(CalledFn).second)
> return false;
>
> if (!cxxDtorIsEmpty(*CalledFn, NewCalledFunctions))
>
> Modified: llvm/trunk/lib/Transforms/IPO/Inliner.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/Inliner.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/IPO/Inliner.cpp (original)
> +++ llvm/trunk/lib/Transforms/IPO/Inliner.cpp Wed Nov 19 01:49:26 2014
> @@ -219,7 +219,7 @@ static bool InlineCallIfPossible(CallSit
>
> // If the inlined function already uses this alloca then we can't reuse
> // it.
> - if (!UsedAllocas.insert(AvailableAlloca))
> + if (!UsedAllocas.insert(AvailableAlloca).second)
> continue;
>
> // Otherwise, we *can* reuse it, RAUW AI into AvailableAlloca and declare
>
> Modified: llvm/trunk/lib/Transforms/IPO/MergeFunctions.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/MergeFunctions.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/IPO/MergeFunctions.cpp (original)
> +++ llvm/trunk/lib/Transforms/IPO/MergeFunctions.cpp Wed Nov 19 01:49:26 2014
> @@ -1049,7 +1049,7 @@ int FunctionComparator::compare() {
>
> assert(TermL->getNumSuccessors() == TermR->getNumSuccessors());
> for (unsigned i = 0, e = TermL->getNumSuccessors(); i != e; ++i) {
> - if (!VisitedBBs.insert(TermL->getSuccessor(i)))
> + if (!VisitedBBs.insert(TermL->getSuccessor(i)).second)
> continue;
>
> FnLBBs.push_back(TermL->getSuccessor(i));
>
> Modified: llvm/trunk/lib/Transforms/InstCombine/InstCombinePHI.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/InstCombine/InstCombinePHI.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/InstCombine/InstCombinePHI.cpp (original)
> +++ llvm/trunk/lib/Transforms/InstCombine/InstCombinePHI.cpp Wed Nov 19 01:49:26 2014
> @@ -511,7 +511,7 @@ static bool DeadPHICycle(PHINode *PN,
> if (!PN->hasOneUse()) return false;
>
> // Remember this node, and if we find the cycle, return.
> - if (!PotentiallyDeadPHIs.insert(PN))
> + if (!PotentiallyDeadPHIs.insert(PN).second)
> return true;
>
> // Don't scan crazily complex things.
> @@ -530,7 +530,7 @@ static bool DeadPHICycle(PHINode *PN,
> static bool PHIsEqualValue(PHINode *PN, Value *NonPhiInVal,
> SmallPtrSetImpl<PHINode*> &ValueEqualPHIs) {
> // See if we already saw this PHI node.
> - if (!ValueEqualPHIs.insert(PN))
> + if (!ValueEqualPHIs.insert(PN).second)
> return true;
>
> // Don't scan crazily complex things.
> @@ -654,7 +654,7 @@ Instruction *InstCombiner::SliceUpIllega
>
> // If the user is a PHI, inspect its uses recursively.
> if (PHINode *UserPN = dyn_cast<PHINode>(UserI)) {
> - if (PHIsInspected.insert(UserPN))
> + if (PHIsInspected.insert(UserPN).second)
> PHIsToSlice.push_back(UserPN);
> continue;
> }
>
> Modified: llvm/trunk/lib/Transforms/InstCombine/InstructionCombining.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/InstCombine/InstructionCombining.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/InstCombine/InstructionCombining.cpp (original)
> +++ llvm/trunk/lib/Transforms/InstCombine/InstructionCombining.cpp Wed Nov 19 01:49:26 2014
> @@ -2341,7 +2341,7 @@ Instruction *InstCombiner::visitLandingP
>
> // If we already saw this clause, there is no point in having a second
> // copy of it.
> - if (AlreadyCaught.insert(TypeInfo)) {
> + if (AlreadyCaught.insert(TypeInfo).second) {
> // This catch clause was not already seen.
> NewClauses.push_back(CatchClause);
> } else {
> @@ -2423,7 +2423,7 @@ Instruction *InstCombiner::visitLandingP
> continue;
> // There is no point in having multiple copies of the same typeinfo in
> // a filter, so only add it if we didn't already.
> - if (SeenInFilter.insert(TypeInfo))
> + if (SeenInFilter.insert(TypeInfo).second)
> NewFilterElts.push_back(cast<Constant>(Elt));
> }
> // A filter containing a catch-all cannot match anything by definition.
> @@ -2675,7 +2675,8 @@ static bool AddReachableCodeToWorklist(B
> BB = Worklist.pop_back_val();
>
> // We have now visited this block! If we've already been here, ignore it.
> - if (!Visited.insert(BB)) continue;
> + if (!Visited.insert(BB).second)
> + continue;
>
> for (BasicBlock::iterator BBI = BB->begin(), E = BB->end(); BBI != E; ) {
> Instruction *Inst = BBI++;
>
> Modified: llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp (original)
> +++ llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp Wed Nov 19 01:49:26 2014
> @@ -1317,7 +1317,7 @@ bool AddressSanitizer::runOnFunction(Fun
> if (Value *Addr =
> isInterestingMemoryAccess(&Inst, &IsWrite, &Alignment)) {
> if (ClOpt && ClOptSameTemp) {
> - if (!TempsToInstrument.insert(Addr))
> + if (!TempsToInstrument.insert(Addr).second)
> continue; // We've seen this temp in the current BB.
> }
> } else if (ClInvalidPointerPairs &&
>
> Modified: llvm/trunk/lib/Transforms/ObjCARC/DependencyAnalysis.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/ObjCARC/DependencyAnalysis.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/ObjCARC/DependencyAnalysis.cpp (original)
> +++ llvm/trunk/lib/Transforms/ObjCARC/DependencyAnalysis.cpp Wed Nov 19 01:49:26 2014
> @@ -229,7 +229,7 @@ llvm::objcarc::FindDependencies(Dependen
> // Add the predecessors to the worklist.
> do {
> BasicBlock *PredBB = *PI;
> - if (Visited.insert(PredBB))
> + if (Visited.insert(PredBB).second)
> Worklist.push_back(std::make_pair(PredBB, PredBB->end()));
> } while (++PI != PE);
> break;
>
> Modified: llvm/trunk/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/ObjCARC/ObjCARCOpts.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/ObjCARC/ObjCARCOpts.cpp (original)
> +++ llvm/trunk/lib/Transforms/ObjCARC/ObjCARCOpts.cpp Wed Nov 19 01:49:26 2014
> @@ -188,7 +188,7 @@ static inline bool AreAnyUnderlyingObjec
> if (isa<AllocaInst>(P))
> return true;
>
> - if (!Visited.insert(P))
> + if (!Visited.insert(P).second)
> continue;
>
> if (const SelectInst *SI = dyn_cast<const SelectInst>(P)) {
> @@ -412,7 +412,7 @@ bool RRInfo::Merge(const RRInfo &Other)
> // that makes this a partial merge.
> bool Partial = ReverseInsertPts.size() != Other.ReverseInsertPts.size();
> for (Instruction *Inst : Other.ReverseInsertPts)
> - Partial |= ReverseInsertPts.insert(Inst);
> + Partial |= ReverseInsertPts.insert(Inst).second;
> return Partial;
> }
>
> @@ -2194,7 +2194,7 @@ ComputePostOrders(Function &F,
>
> while (SuccStack.back().second != SE) {
> BasicBlock *SuccBB = *SuccStack.back().second++;
> - if (Visited.insert(SuccBB)) {
> + if (Visited.insert(SuccBB).second) {
> TerminatorInst *TI = cast<TerminatorInst>(&SuccBB->back());
> SuccStack.push_back(std::make_pair(SuccBB, succ_iterator(TI)));
> BBStates[CurrBB].addSucc(SuccBB);
> @@ -2235,7 +2235,7 @@ ComputePostOrders(Function &F,
> BBState::edge_iterator PE = BBStates[PredStack.back().first].pred_end();
> while (PredStack.back().second != PE) {
> BasicBlock *BB = *PredStack.back().second++;
> - if (Visited.insert(BB)) {
> + if (Visited.insert(BB).second) {
> PredStack.push_back(std::make_pair(BB, BBStates[BB].pred_begin()));
> goto reverse_dfs_next_succ;
> }
> @@ -2390,7 +2390,7 @@ ObjCARCOpt::ConnectTDBUTraversals(DenseM
> if (!NewRetainReleaseRRI.Calls.count(NewRetain))
> return false;
>
> - if (ReleasesToMove.Calls.insert(NewRetainRelease)) {
> + if (ReleasesToMove.Calls.insert(NewRetainRelease).second) {
>
> // If we overflow when we compute the path count, don't remove/move
> // anything.
> @@ -2422,7 +2422,7 @@ ObjCARCOpt::ConnectTDBUTraversals(DenseM
> // Collect the optimal insertion points.
> if (!KnownSafe)
> for (Instruction *RIP : NewRetainReleaseRRI.ReverseInsertPts) {
> - if (ReleasesToMove.ReverseInsertPts.insert(RIP)) {
> + if (ReleasesToMove.ReverseInsertPts.insert(RIP).second) {
> // If we overflow when we compute the path count, don't
> // remove/move anything.
> const BBState &RIPBBState = BBStates[RIP->getParent()];
> @@ -2467,7 +2467,7 @@ ObjCARCOpt::ConnectTDBUTraversals(DenseM
> if (!NewReleaseRetainRRI.Calls.count(NewRelease))
> return false;
>
> - if (RetainsToMove.Calls.insert(NewReleaseRetain)) {
> + if (RetainsToMove.Calls.insert(NewReleaseRetain).second) {
> // If we overflow when we compute the path count, don't remove/move
> // anything.
> const BBState &NRRBBState = BBStates[NewReleaseRetain->getParent()];
> @@ -2483,7 +2483,7 @@ ObjCARCOpt::ConnectTDBUTraversals(DenseM
> // Collect the optimal insertion points.
> if (!KnownSafe)
> for (Instruction *RIP : NewReleaseRetainRRI.ReverseInsertPts) {
> - if (RetainsToMove.ReverseInsertPts.insert(RIP)) {
> + if (RetainsToMove.ReverseInsertPts.insert(RIP).second) {
> // If we overflow when we compute the path count, don't
> // remove/move anything.
> const BBState &RIPBBState = BBStates[RIP->getParent()];
>
> Modified: llvm/trunk/lib/Transforms/ObjCARC/ProvenanceAnalysis.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/ObjCARC/ProvenanceAnalysis.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/ObjCARC/ProvenanceAnalysis.cpp (original)
> +++ llvm/trunk/lib/Transforms/ObjCARC/ProvenanceAnalysis.cpp Wed Nov 19 01:49:26 2014
> @@ -62,7 +62,7 @@ bool ProvenanceAnalysis::relatedPHI(cons
> SmallPtrSet<const Value *, 4> UniqueSrc;
> for (unsigned i = 0, e = A->getNumIncomingValues(); i != e; ++i) {
> const Value *PV1 = A->getIncomingValue(i);
> - if (UniqueSrc.insert(PV1) && related(PV1, B))
> + if (UniqueSrc.insert(PV1).second && related(PV1, B))
> return true;
> }
>
> @@ -94,7 +94,7 @@ static bool IsStoredObjCPointer(const Va
> if (isa<PtrToIntInst>(P))
> // Assume the worst.
> return true;
> - if (Visited.insert(Ur))
> + if (Visited.insert(Ur).second)
> Worklist.push_back(Ur);
> }
> } while (!Worklist.empty());
>
> Modified: llvm/trunk/lib/Transforms/Scalar/ADCE.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/ADCE.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Scalar/ADCE.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/ADCE.cpp Wed Nov 19 01:49:26 2014
> @@ -73,7 +73,7 @@ bool ADCE::runOnFunction(Function& F) {
> for (Instruction::op_iterator OI = curr->op_begin(), OE = curr->op_end();
> OI != OE; ++OI)
> if (Instruction* Inst = dyn_cast<Instruction>(OI))
> - if (alive.insert(Inst))
> + if (alive.insert(Inst).second)
> worklist.push_back(Inst);
> }
>
>
> Modified: llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpp Wed Nov 19 01:49:26 2014
> @@ -1102,7 +1102,7 @@ void WidenIV::pushNarrowIVUsers(Instruct
> Instruction *NarrowUser = cast<Instruction>(U);
>
> // Handle data flow merges and bizarre phi cycles.
> - if (!Widened.insert(NarrowUser))
> + if (!Widened.insert(NarrowUser).second)
> continue;
>
> NarrowIVUsers.push_back(NarrowIVDefUse(NarrowDef, NarrowUser, WideDef));
> @@ -1284,7 +1284,7 @@ void IndVarSimplify::SimplifyAndExtend(L
> static bool isHighCostExpansion(const SCEV *S, BranchInst *BI,
> SmallPtrSetImpl<const SCEV*> &Processed,
> ScalarEvolution *SE) {
> - if (!Processed.insert(S))
> + if (!Processed.insert(S).second)
> return false;
>
> // If the backedge-taken count is a UDiv, it's very likely a UDiv that
> @@ -1475,7 +1475,7 @@ static bool hasConcreteDefImpl(Value *V,
>
> // Optimistically handle other instructions.
> for (User::op_iterator OI = I->op_begin(), E = I->op_end(); OI != E; ++OI) {
> - if (!Visited.insert(*OI))
> + if (!Visited.insert(*OI).second)
> continue;
> if (!hasConcreteDefImpl(*OI, Visited, Depth+1))
> return false;
>
> Modified: llvm/trunk/lib/Transforms/Scalar/JumpThreading.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/JumpThreading.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Scalar/JumpThreading.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/JumpThreading.cpp Wed Nov 19 01:49:26 2014
> @@ -932,7 +932,7 @@ bool JumpThreading::SimplifyPartiallyRed
> BasicBlock *PredBB = *PI;
>
> // If we already scanned this predecessor, skip it.
> - if (!PredsScanned.insert(PredBB))
> + if (!PredsScanned.insert(PredBB).second)
> continue;
>
> // Scan the predecessor to see if the value is available in the pred.
> @@ -1151,7 +1151,7 @@ bool JumpThreading::ProcessThreadableEdg
>
> for (unsigned i = 0, e = PredValues.size(); i != e; ++i) {
> BasicBlock *Pred = PredValues[i].second;
> - if (!SeenPreds.insert(Pred))
> + if (!SeenPreds.insert(Pred).second)
> continue; // Duplicate predecessor entry.
>
> // If the predecessor ends with an indirect goto, we can't change its
>
> Modified: llvm/trunk/lib/Transforms/Scalar/LoopInstSimplify.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/LoopInstSimplify.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Scalar/LoopInstSimplify.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/LoopInstSimplify.cpp Wed Nov 19 01:49:26 2014
> @@ -152,7 +152,7 @@ bool LoopInstSimplify::runOnLoop(Loop *L
> for (succ_iterator SI = succ_begin(BB), SE = succ_end(BB); SI != SE;
> ++SI) {
> BasicBlock *SuccBB = *SI;
> - if (!Visited.insert(SuccBB))
> + if (!Visited.insert(SuccBB).second)
> continue;
>
> const Loop *SuccLoop = LI->getLoopFor(SuccBB);
> @@ -165,7 +165,7 @@ bool LoopInstSimplify::runOnLoop(Loop *L
>
> for (unsigned i = 0; i < SubLoopExitBlocks.size(); ++i) {
> BasicBlock *ExitBB = SubLoopExitBlocks[i];
> - if (LI->getLoopFor(ExitBB) == L && Visited.insert(ExitBB))
> + if (LI->getLoopFor(ExitBB) == L && Visited.insert(ExitBB).second)
> VisitStack.push_back(WorklistItem(ExitBB, false));
> }
>
>
> Modified: llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp Wed Nov 19 01:49:26 2014
> @@ -762,7 +762,7 @@ static bool isHighCostExpansion(const SC
> Processed, SE);
> }
>
> - if (!Processed.insert(S))
> + if (!Processed.insert(S).second)
> return false;
>
> if (const SCEVAddExpr *Add = dyn_cast<SCEVAddExpr>(S)) {
> @@ -975,7 +975,7 @@ void Cost::RatePrimaryRegister(const SCE
> Lose();
> return;
> }
> - if (Regs.insert(Reg)) {
> + if (Regs.insert(Reg).second) {
> RateRegister(Reg, Regs, L, SE, DT);
> if (LoserRegs && isLoser())
> LoserRegs->insert(Reg);
> @@ -2802,7 +2802,7 @@ void LSRInstance::CollectChains() {
> User::op_iterator IVOpIter = findIVOperand(I->op_begin(), IVOpEnd, L, SE);
> while (IVOpIter != IVOpEnd) {
> Instruction *IVOpInst = cast<Instruction>(*IVOpIter);
> - if (UniqueOperands.insert(IVOpInst))
> + if (UniqueOperands.insert(IVOpInst).second)
> ChainInstruction(I, IVOpInst, ChainUsersVec);
> IVOpIter = findIVOperand(std::next(IVOpIter), IVOpEnd, L, SE);
> }
> @@ -3122,7 +3122,7 @@ LSRInstance::CollectLoopInvariantFixupsA
> const SCEV *S = Worklist.pop_back_val();
>
> // Don't process the same SCEV twice
> - if (!Visited.insert(S))
> + if (!Visited.insert(S).second)
> continue;
>
> if (const SCEVNAryExpr *N = dyn_cast<SCEVNAryExpr>(S))
> @@ -3774,7 +3774,7 @@ void LSRInstance::GenerateCrossUseConsta
> for (int LUIdx = UsedByIndices.find_first(); LUIdx != -1;
> LUIdx = UsedByIndices.find_next(LUIdx))
> // Make a memo of this use, offset, and register tuple.
> - if (UniqueItems.insert(std::make_pair(LUIdx, Imm)))
> + if (UniqueItems.insert(std::make_pair(LUIdx, Imm)).second)
> WorkItems.push_back(WorkItem(LUIdx, Imm, OrigReg));
> }
> }
>
> Modified: llvm/trunk/lib/Transforms/Scalar/Reassociate.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/Reassociate.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Scalar/Reassociate.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/Reassociate.cpp Wed Nov 19 01:49:26 2014
> @@ -623,7 +623,7 @@ static bool LinearizeExprTree(BinaryOper
> // If this is a binary operation of the right kind with only one use then
> // add its operands to the expression.
> if (BinaryOperator *BO = isReassociableOp(Op, Opcode)) {
> - assert(Visited.insert(Op) && "Not first visit!");
> + assert(Visited.insert(Op).second && "Not first visit!");
> DEBUG(dbgs() << "DIRECT ADD: " << *Op << " (" << Weight << ")\n");
> Worklist.push_back(std::make_pair(BO, Weight));
> continue;
> @@ -633,7 +633,7 @@ static bool LinearizeExprTree(BinaryOper
> LeafMap::iterator It = Leaves.find(Op);
> if (It == Leaves.end()) {
> // Not in the leaf map. Must be the first time we saw this operand.
> - assert(Visited.insert(Op) && "Not first visit!");
> + assert(Visited.insert(Op).second && "Not first visit!");
> if (!Op->hasOneUse()) {
> // This value has uses not accounted for by the expression, so it is
> // not safe to modify. Mark it as being a leaf.
> @@ -1609,7 +1609,7 @@ Value *Reassociate::OptimizeAdd(Instruct
> SmallPtrSet<Value*, 8> Duplicates;
> for (unsigned i = 0, e = Factors.size(); i != e; ++i) {
> Value *Factor = Factors[i];
> - if (!Duplicates.insert(Factor))
> + if (!Duplicates.insert(Factor).second)
> continue;
>
> unsigned Occ = ++FactorOccurrences[Factor];
> @@ -1960,7 +1960,7 @@ void Reassociate::EraseInst(Instruction
> // and add that since that's where optimization actually happens.
> unsigned Opcode = Op->getOpcode();
> while (Op->hasOneUse() && Op->user_back()->getOpcode() == Opcode &&
> - Visited.insert(Op))
> + Visited.insert(Op).second)
> Op = Op->user_back();
> RedoInsts.insert(Op);
> }
>
> Modified: llvm/trunk/lib/Transforms/Scalar/SCCP.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/SCCP.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Scalar/SCCP.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/SCCP.cpp Wed Nov 19 01:49:26 2014
> @@ -214,7 +214,8 @@ public:
> ///
> /// This returns true if the block was not considered live before.
> bool MarkBlockExecutable(BasicBlock *BB) {
> - if (!BBExecutable.insert(BB)) return false;
> + if (!BBExecutable.insert(BB).second)
> + return false;
> DEBUG(dbgs() << "Marking Block Executable: " << BB->getName() << '\n');
> BBWorkList.push_back(BB); // Add the block to the work list!
> return true;
>
> Modified: llvm/trunk/lib/Transforms/Scalar/SROA.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/SROA.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Scalar/SROA.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/SROA.cpp Wed Nov 19 01:49:26 2014
> @@ -349,7 +349,7 @@ public:
>
> private:
> void markAsDead(Instruction &I) {
> - if (VisitedDeadInsts.insert(&I))
> + if (VisitedDeadInsts.insert(&I).second)
> AS.DeadUsers.push_back(&I);
> }
>
> @@ -639,7 +639,7 @@ private:
> }
>
> for (User *U : I->users())
> - if (Visited.insert(cast<Instruction>(U)))
> + if (Visited.insert(cast<Instruction>(U)).second)
> Uses.push_back(std::make_pair(I, cast<Instruction>(U)));
> } while (!Uses.empty());
>
> @@ -848,7 +848,7 @@ public:
> else
> return false;
>
> - } while (Visited.insert(Ptr));
> + } while (Visited.insert(Ptr).second);
>
> return false;
> }
> @@ -1461,7 +1461,7 @@ static Value *getAdjustedPtr(IRBuilderTy
> break;
> Offset += GEPOffset;
> Ptr = GEP->getPointerOperand();
> - if (!Visited.insert(Ptr))
> + if (!Visited.insert(Ptr).second)
> break;
> }
>
> @@ -1498,7 +1498,7 @@ static Value *getAdjustedPtr(IRBuilderTy
> break;
> }
> assert(Ptr->getType()->isPointerTy() && "Unexpected operand type!");
> - } while (Visited.insert(Ptr));
> + } while (Visited.insert(Ptr).second);
>
> if (!OffsetPtr) {
> if (!Int8Ptr) {
> @@ -2861,7 +2861,7 @@ private:
> /// This uses a set to de-duplicate users.
> void enqueueUsers(Instruction &I) {
> for (Use &U : I.uses())
> - if (Visited.insert(U.getUser()))
> + if (Visited.insert(U.getUser()).second)
> Queue.push_back(&U);
> }
>
> @@ -3588,7 +3588,7 @@ static void enqueueUsersInWorklist(Instr
> SmallVectorImpl<Instruction *> &Worklist,
> SmallPtrSetImpl<Instruction *> &Visited) {
> for (User *U : I.users())
> - if (Visited.insert(cast<Instruction>(U)))
> + if (Visited.insert(cast<Instruction>(U)).second)
> Worklist.push_back(cast<Instruction>(U));
> }
>
>
> Modified: llvm/trunk/lib/Transforms/Scalar/SampleProfile.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/SampleProfile.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Scalar/SampleProfile.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/SampleProfile.cpp Wed Nov 19 01:49:26 2014
> @@ -305,7 +305,7 @@ void SampleProfileLoader::findEquivalenc
> for (auto *BB2 : Descendants) {
> bool IsDomParent = DomTree->dominates(BB2, BB1);
> bool IsInSameLoop = LI->getLoopFor(BB1) == LI->getLoopFor(BB2);
> - if (BB1 != BB2 && VisitedBlocks.insert(BB2) && IsDomParent &&
> + if (BB1 != BB2 && VisitedBlocks.insert(BB2).second && IsDomParent &&
> IsInSameLoop) {
> EquivalenceClass[BB2] = BB1;
>
> @@ -494,7 +494,7 @@ bool SampleProfileLoader::propagateThrou
> << " known. Set weight for block: ";
> printBlockWeight(dbgs(), BB););
> }
> - if (VisitedBlocks.insert(BB))
> + if (VisitedBlocks.insert(BB).second)
> Changed = true;
> } else if (NumUnknownEdges == 1 && VisitedBlocks.count(BB)) {
> // If there is a single unknown edge and the block has been
> @@ -540,7 +540,7 @@ void SampleProfileLoader::buildEdges(Fun
> llvm_unreachable("Found a stale predecessors list in a basic block.");
> for (pred_iterator PI = pred_begin(B1), PE = pred_end(B1); PI != PE; ++PI) {
> BasicBlock *B2 = *PI;
> - if (Visited.insert(B2))
> + if (Visited.insert(B2).second)
> Predecessors[B1].push_back(B2);
> }
>
> @@ -550,7 +550,7 @@ void SampleProfileLoader::buildEdges(Fun
> llvm_unreachable("Found a stale successors list in a basic block.");
> for (succ_iterator SI = succ_begin(B1), SE = succ_end(B1); SI != SE; ++SI) {
> BasicBlock *B2 = *SI;
> - if (Visited.insert(B2))
> + if (Visited.insert(B2).second)
> Successors[B1].push_back(B2);
> }
> }
>
> Modified: llvm/trunk/lib/Transforms/Scalar/ScalarReplAggregates.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/ScalarReplAggregates.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Scalar/ScalarReplAggregates.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/ScalarReplAggregates.cpp Wed Nov 19 01:49:26 2014
> @@ -1669,7 +1669,7 @@ void SROA::isSafePHISelectUseForScalarRe
> AllocaInfo &Info) {
> // If we've already checked this PHI, don't do it again.
> if (PHINode *PN = dyn_cast<PHINode>(I))
> - if (!Info.CheckedPHIs.insert(PN))
> + if (!Info.CheckedPHIs.insert(PN).second)
> return;
>
> for (User *U : I->users()) {
>
> Modified: llvm/trunk/lib/Transforms/Scalar/TailRecursionElimination.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/TailRecursionElimination.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Scalar/TailRecursionElimination.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/TailRecursionElimination.cpp Wed Nov 19 01:49:26 2014
> @@ -179,7 +179,7 @@ struct AllocaDerivedValueTracker {
>
> auto AddUsesToWorklist = [&](Value *V) {
> for (auto &U : V->uses()) {
> - if (!Visited.insert(&U))
> + if (!Visited.insert(&U).second)
> continue;
> Worklist.push_back(&U);
> }
>
> Modified: llvm/trunk/lib/Transforms/Utils/GlobalStatus.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/GlobalStatus.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Utils/GlobalStatus.cpp (original)
> +++ llvm/trunk/lib/Transforms/Utils/GlobalStatus.cpp Wed Nov 19 01:49:26 2014
> @@ -133,7 +133,7 @@ static bool analyzeGlobalAux(const Value
> } else if (const PHINode *PN = dyn_cast<PHINode>(I)) {
> // PHI nodes we can check just like select or GEP instructions, but we
> // have to be careful about infinite recursion.
> - if (PhiUsers.insert(PN)) // Not already visited.
> + if (PhiUsers.insert(PN).second) // Not already visited.
> if (analyzeGlobalAux(I, GS, PhiUsers))
> return true;
> } else if (isa<CmpInst>(I)) {
>
> Modified: llvm/trunk/lib/Transforms/Utils/Local.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/Local.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Utils/Local.cpp (original)
> +++ llvm/trunk/lib/Transforms/Utils/Local.cpp Wed Nov 19 01:49:26 2014
> @@ -392,7 +392,7 @@ bool llvm::RecursivelyDeleteDeadPHINode(
>
> // If we find an instruction more than once, we're on a cycle that
> // won't prove fruitful.
> - if (!Visited.insert(I)) {
> + if (!Visited.insert(I).second) {
> // Break the cycle and delete the instruction and its operands.
> I->replaceAllUsesWith(UndefValue::get(I->getType()));
> (void)RecursivelyDeleteTriviallyDeadInstructions(I, TLI);
> @@ -1266,7 +1266,7 @@ static bool markAliveBlocks(BasicBlock *
>
> Changed |= ConstantFoldTerminator(BB, true);
> for (succ_iterator SI = succ_begin(BB), SE = succ_end(BB); SI != SE; ++SI)
> - if (Reachable.insert(*SI))
> + if (Reachable.insert(*SI).second)
> Worklist.push_back(*SI);
> } while (!Worklist.empty());
> return Changed;
>
> Modified: llvm/trunk/lib/Transforms/Utils/LoopUnroll.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/LoopUnroll.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Utils/LoopUnroll.cpp (original)
> +++ llvm/trunk/lib/Transforms/Utils/LoopUnroll.cpp Wed Nov 19 01:49:26 2014
> @@ -112,7 +112,7 @@ FoldBlockIntoPredecessor(BasicBlock *BB,
> if (LPM) {
> if (ScalarEvolution *SE = LPM->getAnalysisIfAvailable<ScalarEvolution>()) {
> if (Loop *L = LI->getLoopFor(BB)) {
> - if (ForgottenLoops.insert(L))
> + if (ForgottenLoops.insert(L).second)
> SE->forgetLoop(L);
> }
> }
>
> Modified: llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp (original)
> +++ llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp Wed Nov 19 01:49:26 2014
> @@ -819,7 +819,7 @@ void PromoteMem2Reg::ComputeLiveInBlocks
>
> // The block really is live in here, insert it into the set. If already in
> // the set, then it has already been processed.
> - if (!LiveInBlocks.insert(BB))
> + if (!LiveInBlocks.insert(BB).second)
> continue;
>
> // Since the value is live into BB, it is either defined in a predecessor or
> @@ -899,7 +899,7 @@ void PromoteMem2Reg::DetermineInsertionP
> if (SuccLevel > RootLevel)
> continue;
>
> - if (!Visited.insert(SuccNode))
> + if (!Visited.insert(SuccNode).second)
> continue;
>
> BasicBlock *SuccBB = SuccNode->getBlock();
> @@ -1004,7 +1004,7 @@ NextIteration:
> }
>
> // Don't revisit blocks.
> - if (!Visited.insert(BB))
> + if (!Visited.insert(BB).second)
> return;
>
> for (BasicBlock::iterator II = BB->begin(); !isa<TerminatorInst>(II);) {
> @@ -1061,7 +1061,7 @@ NextIteration:
> ++I;
>
> for (; I != E; ++I)
> - if (VisitedSuccs.insert(*I))
> + if (VisitedSuccs.insert(*I).second)
> Worklist.push_back(RenamePassData(*I, Pred, IncomingVals));
>
> goto NextIteration;
>
> Modified: llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp (original)
> +++ llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp Wed Nov 19 01:49:26 2014
> @@ -4202,7 +4202,7 @@ bool SimplifyCFGOpt::SimplifyIndirectBr(
> SmallPtrSet<Value *, 8> Succs;
> for (unsigned i = 0, e = IBI->getNumDestinations(); i != e; ++i) {
> BasicBlock *Dest = IBI->getDestination(i);
> - if (!Dest->hasAddressTaken() || !Succs.insert(Dest)) {
> + if (!Dest->hasAddressTaken() || !Succs.insert(Dest).second) {
> Dest->removePredecessor(BB);
> IBI->removeDestination(i);
> --i; --e;
>
> Modified: llvm/trunk/lib/Transforms/Utils/SimplifyIndVar.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/SimplifyIndVar.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Utils/SimplifyIndVar.cpp (original)
> +++ llvm/trunk/lib/Transforms/Utils/SimplifyIndVar.cpp Wed Nov 19 01:49:26 2014
> @@ -347,7 +347,7 @@ static void pushIVUsers(
> // Also ensure unique worklist users.
> // If Def is a LoopPhi, it may not be in the Simplified set, so check for
> // self edges first.
> - if (UI != Def && Simplified.insert(UI))
> + if (UI != Def && Simplified.insert(UI).second)
> SimpleIVUsers.push_back(std::make_pair(UI, Def));
> }
> }
>
> Modified: llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp (original)
> +++ llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp Wed Nov 19 01:49:26 2014
> @@ -4801,7 +4801,7 @@ bool LoopVectorizationLegality::canVecto
>
> // If we did *not* see this pointer before, insert it to the read-write
> // list. At this phase it is only a 'write' list.
> - if (Seen.insert(Ptr)) {
> + if (Seen.insert(Ptr).second) {
> ++NumReadWrites;
>
> AliasAnalysis::Location Loc = AA->getLocation(ST);
> @@ -4834,7 +4834,8 @@ bool LoopVectorizationLegality::canVecto
> // read a few words, modify, and write a few words, and some of the
> // words may be written to the same address.
> bool IsReadOnlyPtr = false;
> - if (Seen.insert(Ptr) || !isStridedPtr(SE, DL, Ptr, TheLoop, Strides)) {
> + if (Seen.insert(Ptr).second ||
> + !isStridedPtr(SE, DL, Ptr, TheLoop, Strides)) {
> ++NumReads;
> IsReadOnlyPtr = true;
> }
> @@ -5097,7 +5098,7 @@ bool LoopVectorizationLegality::AddReduc
> // value must only be used once, except by phi nodes and min/max
> // reductions which are represented as a cmp followed by a select.
> ReductionInstDesc IgnoredVal(false, nullptr);
> - if (VisitedInsts.insert(UI)) {
> + if (VisitedInsts.insert(UI).second) {
> if (isa<PHINode>(UI))
> PHIs.push_back(UI);
> else
>
> Modified: llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp (original)
> +++ llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp Wed Nov 19 01:49:26 2014
> @@ -1724,7 +1724,7 @@ int BoUpSLP::getTreeCost() {
> for (UserList::iterator I = ExternalUses.begin(), E = ExternalUses.end();
> I != E; ++I) {
> // We only add extract cost once for the same scalar.
> - if (!ExtractCostCalculated.insert(I->Scalar))
> + if (!ExtractCostCalculated.insert(I->Scalar).second)
> continue;
>
> // Uses by ephemeral values are free (because the ephemeral value will be
> @@ -1922,7 +1922,7 @@ Value *BoUpSLP::vectorizeTree(TreeEntry
> ValueList Operands;
> BasicBlock *IBB = PH->getIncomingBlock(i);
>
> - if (!VisitedBBs.insert(IBB)) {
> + if (!VisitedBBs.insert(IBB).second) {
> NewPhi->addIncoming(NewPhi->getIncomingValueForBlock(IBB), IBB);
> continue;
> }
> @@ -3632,7 +3632,7 @@ bool SLPVectorizer::vectorizeChainsInBlo
>
> for (BasicBlock::iterator it = BB->begin(), e = BB->end(); it != e; it++) {
> // We may go through BB multiple times so skip the one we have checked.
> - if (!VisitedInstrs.insert(it))
> + if (!VisitedInstrs.insert(it).second)
> continue;
>
> if (isa<DbgInfoIntrinsic>(it))
>
> Modified: llvm/trunk/utils/TableGen/CodeGenSchedule.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenSchedule.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/utils/TableGen/CodeGenSchedule.cpp (original)
> +++ llvm/trunk/utils/TableGen/CodeGenSchedule.cpp Wed Nov 19 01:49:26 2014
> @@ -182,7 +182,7 @@ void CodeGenSchedModels::addProcModel(Re
> // Recursively find all reachable SchedReadWrite records.
> static void scanSchedRW(Record *RWDef, RecVec &RWDefs,
> SmallPtrSet<Record*, 16> &RWSet) {
> - if (!RWSet.insert(RWDef))
> + if (!RWSet.insert(RWDef).second)
> return;
> RWDefs.push_back(RWDef);
> // Reads don't current have sequence records, but it can be added later.
> @@ -751,7 +751,7 @@ void CodeGenSchedModels::createInstRWCla
> for (ArrayRef<Record*>::const_iterator
> II = InstDefs.begin(), IE = InstDefs.end(); II != IE; ++II) {
> unsigned OldSCIdx = InstrClassMap[*II];
> - if (OldSCIdx && RemappedClassIDs.insert(OldSCIdx)) {
> + if (OldSCIdx && RemappedClassIDs.insert(OldSCIdx).second) {
> for (RecIter RI = SchedClasses[OldSCIdx].InstRWs.begin(),
> RE = SchedClasses[OldSCIdx].InstRWs.end(); RI != RE; ++RI) {
> if ((*RI)->getValueAsDef("SchedModel") == RWModelDef) {
>
> Modified: llvm/trunk/utils/TableGen/SubtargetEmitter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/SubtargetEmitter.cpp?rev=222334&r1=222333&r2=222334&view=diff
> ==============================================================================
> --- llvm/trunk/utils/TableGen/SubtargetEmitter.cpp (original)
> +++ llvm/trunk/utils/TableGen/SubtargetEmitter.cpp Wed Nov 19 01:49:26 2014
> @@ -386,7 +386,7 @@ EmitStageAndOperandCycleData(raw_ostream
> for (CodeGenSchedModels::ProcIter PI = SchedModels.procModelBegin(),
> PE = SchedModels.procModelEnd(); PI != PE; ++PI) {
>
> - if (!ItinsDefSet.insert(PI->ItinsDef))
> + if (!ItinsDefSet.insert(PI->ItinsDef).second)
> continue;
>
> std::vector<Record*> FUs = PI->ItinsDef->getValueAsListOfDefs("FU");
> @@ -565,7 +565,7 @@ EmitItineraries(raw_ostream &OS,
> PE = SchedModels.procModelEnd(); PI != PE; ++PI, ++ProcItinListsIter) {
>
> Record *ItinsDef = PI->ItinsDef;
> - if (!ItinsDefSet.insert(ItinsDef))
> + if (!ItinsDefSet.insert(ItinsDef).second)
> continue;
>
> // Get processor itinerary name
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list