diff options
author | Reid Kleckner <rnk@google.com> | 2016-06-30 23:04:07 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2016-06-30 23:04:07 +0000 |
commit | 69ae6848e911e0e441a9728addc150d7fa9fc7da (patch) | |
tree | be983c3bcd9213824ddc5c932db0945e72f2163b | |
parent | e4f5e4f4d1c47f996bb22b21989c3cc32fd9a0cd (diff) | |
download | bcm5719-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.h | 6 |
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; |