From d48c5e871a0f3386e536e0987ca06dbc4e274acf Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 4 Feb 2007 00:24:41 +0000 Subject: [PATCH] Eliminate some std::sets. This speeds up isel of kimwitu by about 0.9% git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33852 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index cced06be1f5..5d21fb18a5e 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -24,9 +24,9 @@ #include "llvm/Target/TargetInstrInfo.h" #include "llvm/Target/TargetMachine.h" #include "llvm/ADT/SetVector.h" +#include "llvm/ADT/SmallPtrSet.h" #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringExtras.h" -#include #include #include using namespace llvm; @@ -2548,12 +2548,12 @@ bool SDNode::hasNUsesOfValue(unsigned NUses, unsigned Value) const { SDOperand TheValue(const_cast(this), Value); - std::set UsersHandled; + SmallPtrSet UsersHandled; for (SDNode::use_iterator UI = Uses.begin(), E = Uses.end(); UI != E; ++UI) { SDNode *User = *UI; if (User->getNumOperands() == 1 || - UsersHandled.insert(User).second) // First time we've seen this? + UsersHandled.insert(User)) // First time we've seen this? for (unsigned i = 0, e = User->getNumOperands(); i != e; ++i) if (User->getOperand(i) == TheValue) { if (NUses == 0) @@ -2599,8 +2599,8 @@ bool SDNode::isOperand(SDNode *N) const { } static void findPredecessor(SDNode *N, const SDNode *P, bool &found, - std::set &Visited) { - if (found || !Visited.insert(N).second) + SmallPtrSet &Visited) { + if (found || !Visited.insert(N)) return; for (unsigned i = 0, e = N->getNumOperands(); !found && i != e; ++i) { @@ -2618,7 +2618,7 @@ static void findPredecessor(SDNode *N, const SDNode *P, bool &found, /// up the operands. /// NOTE: this is an expensive method. Use it carefully. bool SDNode::isPredecessor(SDNode *N) const { - std::set Visited; + SmallPtrSet Visited; bool found = false; findPredecessor(N, this, found, Visited); return found;