summaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/DwarfWriter.cpp
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2007-06-08 08:59:11 +0000
committerDuncan Sands <baldrick@free.fr>2007-06-08 08:59:11 +0000
commit6cc7608213cc69ddeb0a25df360bbbe13a5c069d (patch)
tree47253406668f999257c1b1fcd76191150f46d00f /lib/CodeGen/DwarfWriter.cpp
parent900997ba3b832b9f0f47371ced3822d1793edc7c (diff)
downloadexternal_llvm-6cc7608213cc69ddeb0a25df360bbbe13a5c069d.zip
external_llvm-6cc7608213cc69ddeb0a25df360bbbe13a5c069d.tar.gz
external_llvm-6cc7608213cc69ddeb0a25df360bbbe13a5c069d.tar.bz2
Use more realistically sized vectors. Reserve capacity if we know in advance
how much will be used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37515 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/DwarfWriter.cpp')
-rw-r--r--lib/CodeGen/DwarfWriter.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/CodeGen/DwarfWriter.cpp b/lib/CodeGen/DwarfWriter.cpp
index 850f25b..6bfbacd 100644
--- a/lib/CodeGen/DwarfWriter.cpp
+++ b/lib/CodeGen/DwarfWriter.cpp
@@ -2973,16 +2973,19 @@ private:
// Sort the landing pads in order of their type ids. This is used to fold
// duplicate actions.
- SmallVector<const LandingPadInfo *, 32> LandingPads(PadInfos.size(), NULL);
+ SmallVector<const LandingPadInfo *, 64> LandingPads;
+
+ LandingPads.reserve(PadInfos.size());
for (unsigned i = 0, N = PadInfos.size(); i != N; ++i)
- LandingPads[i] = &PadInfos[i];
+ LandingPads.push_back(&PadInfos[i]);
std::sort(LandingPads.begin(), LandingPads.end(), PadLT);
// Gather first action index for each landing pad site.
- SmallVector<unsigned, 32> FirstActions;
+ SmallVector<unsigned, 64> FirstActions;
+ FirstActions.reserve(PadInfos.size());
// The actions table.
- SmallVector<ActionEntry, 64> Actions;
+ SmallVector<ActionEntry, 32> Actions;
// Compute sizes for exception table.
unsigned SizeSites = 0;