Change the use_list to be a smallvector instead of a vector. This reduces
authorChris Lattner <sabre@nondot.org>
Wed, 16 Aug 2006 21:01:10 +0000 (21:01 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 16 Aug 2006 21:01:10 +0000 (21:01 +0000)
isel time from 6.79s to 5.53s (22%) on kc++ with a release build on ppc.
Go smallvector! :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29731 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/SelectionDAG.h
include/llvm/CodeGen/SelectionDAGNodes.h

index 7e323902b2ccb2fc6a17bc917dab541a807316ba..b748053429dda354920bc1506b3aa4302a996c53 100644 (file)
@@ -20,6 +20,7 @@
 #include "llvm/ADT/ilist"
 
 #include <list>
+#include <vector>
 #include <map>
 #include <set>
 #include <string>
index 4ee389b8485331e2b6adb53bd5570cd90b4b1188..ad4ae4a3f86a27efaa8d698aace8d4a509a4e0d8 100644 (file)
@@ -23,9 +23,9 @@
 #include "llvm/Value.h"
 #include "llvm/ADT/GraphTraits.h"
 #include "llvm/ADT/iterator"
+#include "llvm/ADT/SmallVector.h"
 #include "llvm/Support/DataTypes.h"
 #include <cassert>
-#include <vector>
 
 namespace llvm {
 
@@ -722,7 +722,7 @@ class SDNode {
   
   /// Uses - These are all of the SDNode's that use a value produced by this
   /// node.
-  std::vector<SDNode*> Uses;
+  SmallVector<SDNode*,3> Uses;
   
   // Out-of-line virtual method to give class a home.
   virtual void ANCHOR();
@@ -751,7 +751,7 @@ public:
   ///
   int getNodeId() const { return NodeId; }
 
-  typedef std::vector<SDNode*>::const_iterator use_iterator;
+  typedef SmallVector<SDNode*,3>::const_iterator use_iterator;
   use_iterator use_begin() const { return Uses.begin(); }
   use_iterator use_end() const { return Uses.end(); }