Use more realistically sized vectors. Reserve capacity if we know in advance
authorDuncan Sands <baldrick@free.fr>
Fri, 8 Jun 2007 08:59:11 +0000 (08:59 +0000)
committerDuncan Sands <baldrick@free.fr>
Fri, 8 Jun 2007 08:59:11 +0000 (08:59 +0000)
how much will be used.

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

lib/CodeGen/DwarfWriter.cpp

index 850f25b2bf81582d466abc2eed8d08ea21a761cd..6bfbacd7136b712f62c1dcf9f6634a7d74f32188 100644 (file)
@@ -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;