Reduce double set lookups. NFC.
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 10 Oct 2014 15:32:50 +0000 (15:32 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 10 Oct 2014 15:32:50 +0000 (15:32 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219505 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Analysis/DominanceFrontierImpl.h
include/llvm/Analysis/IntervalIterator.h
lib/CodeGen/AggressiveAntiDepBreaker.cpp
lib/ProfileData/CoverageMappingReader.cpp
lib/Target/NVPTX/NVPTXAsmPrinter.cpp

index c56eb4d3bdf5d4c0502da340992836bc22049308..5f5b0fa69cb29bfba4f6932953ed527154fab141 100644 (file)
@@ -172,9 +172,7 @@ ForwardDominanceFrontierBase<BlockT>::calculate(const DomTreeT &DT,
     DomSetType &S = this->Frontiers[currentBB];
 
     // Visit each block only once.
-    if (visited.count(currentBB) == 0) {
-      visited.insert(currentBB);
-
+    if (visited.insert(currentBB)) {
       // Loop over CFG successors to calculate DFlocal[currentNode]
       for (auto SI = BlockTraits::child_begin(currentBB),
                 SE = BlockTraits::child_end(currentBB);
index 73aff76efe83720e7a0c8beabe26d711f8dad6e8..3b51d44099fa0612711222b180a748231da15b73 100644 (file)
@@ -165,10 +165,10 @@ private:
   //
   bool ProcessInterval(NodeTy *Node) {
     BasicBlock *Header = getNodeHeader(Node);
-    if (Visited.count(Header)) return false;
+    if (!Visited.insert(Header).second)
+      return false;
 
     Interval *Int = new Interval(Header);
-    Visited.insert(Header);   // The header has now been visited!
 
     // Check all of our successors to see if they are in the interval...
     for (typename GT::ChildIteratorType I = GT::child_begin(Node),
index b0c3906b02e1dd949b416ccc92a7959de89c56e1..5731736ae50d6954187bb3561f94259aa1eec478 100644 (file)
@@ -257,11 +257,8 @@ static void AntiDepEdges(const SUnit *SU, std::vector<const SDep*>& Edges) {
   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)) {
-      unsigned Reg = P->getReg();
-      if (RegSet.count(Reg) == 0) {
+      if (RegSet.insert(P->getReg()))
         Edges.push_back(&*P);
-        RegSet.insert(Reg);
-      }
     }
   }
 }
@@ -615,8 +612,7 @@ bool AggressiveAntiDepBreaker::FindSuitableFreeRegisters(
 
   DEBUG(dbgs() << "\tFind Registers:");
 
-  if (RenameOrder.count(SuperRC) == 0)
-    RenameOrder.insert(RenameOrderType::value_type(SuperRC, Order.size()));
+  RenameOrder.insert(RenameOrderType::value_type(SuperRC, Order.size()));
 
   unsigned OrigR = RenameOrder[SuperRC];
   unsigned EndR = ((OrigR == Order.size()) ? 0 : OrigR);
index 987aab65ffbbbbfaacdffcfac0924c6ab762e9f5..ce99f4d8a7b0892ca9c3c4849034242670f2deca 100644 (file)
@@ -410,9 +410,9 @@ std::error_code readCoverageMappingData(
       // function name.
       // This is useful to ignore the redundant records for the functions
       // with ODR linkage.
-      if (UniqueFunctionMappingData.count(MappingRecord.FunctionNamePtr))
+      if (!UniqueFunctionMappingData.insert(MappingRecord.FunctionNamePtr)
+               .second)
         continue;
-      UniqueFunctionMappingData.insert(MappingRecord.FunctionNamePtr);
       StringRef FunctionName;
       if (auto Err =
               ProfileNames.get(MappingRecord.FunctionNamePtr,
index 1264b25b04b73a6c7e3bd0cf4048a17f95c80ca9..35ba4f1481defb887a3bc8bcdb893850b78a2b66 100644 (file)
@@ -88,12 +88,9 @@ void VisitGlobalVariableForEmission(
     return;
 
   // Do we have a circular dependency?
-  if (Visiting.count(GV))
+  if (!Visiting.insert(GV).second)
     report_fatal_error("Circular dependency found in global variable set");
 
-  // Start visiting this global
-  Visiting.insert(GV);
-
   // Make sure we visit all dependents first
   DenseSet<const GlobalVariable *> Others;
   for (unsigned i = 0, e = GV->getNumOperands(); i != e; ++i)