Remove assertions from the SmallVector class. They slow down clients of
authorChris Lattner <sabre@nondot.org>
Mon, 7 Aug 2006 23:41:59 +0000 (23:41 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 7 Aug 2006 23:41:59 +0000 (23:41 +0000)
smallvector too much in a release build.  Removing them speeds up isel 4%.

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

include/llvm/ADT/SmallVector.h

index 34c915039fe453ddaceb40cecf60ecaa19009daa..d5e9900e5a3e1d1edf41ddecd9d066e0448367f2 100644 (file)
@@ -15,7 +15,6 @@
 #define LLVM_ADT_SMALLVECTOR_H
 
 #include <algorithm>
-#include <cassert>
 #include <iterator>
 #include <memory>
 
@@ -91,20 +90,16 @@ public:
   const_iterator end() const { return End; }
   
   reference operator[](unsigned idx) {
-    assert(idx < size() && "out of range reference!");
     return Begin[idx];
   }
   const_reference operator[](unsigned idx) const {
-    assert(idx < size() && "out of range reference!");
     return Begin[idx];
   }
   
   reference back() {
-    assert(!empty() && "SmallVector is empty!");
     return end()[-1];
   }
   const_reference back() const {
-    assert(!empty() && "SmallVector is empty!");
     return end()[-1];
   }
   
@@ -120,7 +115,6 @@ public:
   }
   
   void pop_back() {
-    assert(!empty() && "SmallVector is empty!");
     --End;
     End->~T();
   }