summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2016-06-30 23:04:07 +0000
committerReid Kleckner <rnk@google.com>2016-06-30 23:04:07 +0000
commit69ae6848e911e0e441a9728addc150d7fa9fc7da (patch)
treebe983c3bcd9213824ddc5c932db0945e72f2163b
parente4f5e4f4d1c47f996bb22b21989c3cc32fd9a0cd (diff)
downloadbcm5719-llvm-69ae6848e911e0e441a9728addc150d7fa9fc7da.tar.gz
bcm5719-llvm-69ae6848e911e0e441a9728addc150d7fa9fc7da.zip
[TableGen] Use a SmallVector for Record::Values to avoid debug iterators
Debug iterators are valuable so we don't want to turn them off completely. However, llvm-tblgen is critical to build speed, so we can skip them here. Regenerating X86GenSubtargetInfo.inc in a clang-cl self-host debug build now takes 39s instead of 1m29s. Helps PR28222 llvm-svn: 274288
-rw-r--r--llvm/include/llvm/TableGen/Record.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/include/llvm/TableGen/Record.h b/llvm/include/llvm/TableGen/Record.h
index 9140b3a9c5e..43b1af086d2 100644
--- a/llvm/include/llvm/TableGen/Record.h
+++ b/llvm/include/llvm/TableGen/Record.h
@@ -1167,9 +1167,9 @@ class Record {
// Location where record was instantiated, followed by the location of
// multiclass prototypes used.
SmallVector<SMLoc, 4> Locs;
- std::vector<Init *> TemplateArgs;
- std::vector<RecordVal> Values;
- std::vector<std::pair<Record *, SMRange>> SuperClasses;
+ SmallVector<Init *, 0> TemplateArgs;
+ SmallVector<RecordVal, 0> Values;
+ SmallVector<std::pair<Record *, SMRange>, 0> SuperClasses;
// Tracks Record instances. Not owned by Record.
RecordKeeper &TrackedRecords;
OpenPOWER on IntegriCloud