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.