Subzero: Improve performance by using llvm::SmallVector<>.

BUG= none
R=jvoung@chromium.org

Review URL: https://codereview.chromium.org/775953003
diff --git a/src/IceDefs.h b/src/IceDefs.h
index 25e761d..133b56b 100644
--- a/src/IceDefs.h
+++ b/src/IceDefs.h
@@ -30,6 +30,7 @@
 #include "llvm/ADT/ilist.h"
 #include "llvm/ADT/ilist_node.h"
 #include "llvm/ADT/SmallBitVector.h"
+#include "llvm/ADT/SmallVector.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/Support/Casting.h"
 #include "llvm/Support/ELF.h"
diff --git a/src/IceOperand.h b/src/IceOperand.h
index c99b9d7..99bbd39 100644
--- a/src/IceOperand.h
+++ b/src/IceOperand.h
@@ -362,7 +362,8 @@
 
 private:
   typedef std::pair<InstNumberT, InstNumberT> RangeElementType;
-  typedef std::vector<RangeElementType> RangeType;
+  // Assume a common case of 2 or fewer segments per live range.
+  typedef llvm::SmallVector<RangeElementType, 2> RangeType;
   RangeType Range;
   RegWeight Weight;
   // TrimmedBegin is an optimization for the overlaps() computation.