CodeGen: Tune the SmallVector size in LiveRange

The vast majority of LiveRanges (ie, 4/5) have exactly 1 segment and 1
value number, and a good chunk of the rest have 2 of each, so
allocating space for 4 is wasteful. This is especially noticeable when
dealing with a very large number of vregs, and I have an internal case
where dropping this to 2 shaves over 5% off of peak memory when
compiling a particularly large function.

llvm-svn: 262681
This commit is contained in:
Justin Bogner 2016-03-04 00:58:39 +00:00
parent 4362a994d2
commit 87feb4e64e
1 changed files with 2 additions and 2 deletions

View File

@ -190,8 +190,8 @@ namespace llvm {
void dump() const;
};
typedef SmallVector<Segment,4> Segments;
typedef SmallVector<VNInfo*,4> VNInfoList;
typedef SmallVector<Segment, 2> Segments;
typedef SmallVector<VNInfo *, 2> VNInfoList;
Segments segments; // the liveness segments
VNInfoList valnos; // value#'s