diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2016-04-20 20:14:09 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2016-04-20 20:14:09 +0000 |
commit | 3c406c2da52302eb5cced431373f240b9c037841 (patch) | |
tree | 0036fa3b9a770cedd54db3a83bfd890cb2799c2a /llvm/lib/IR/DIBuilder.cpp | |
parent | 07320e403001cc192f8565d77001d281d41f4572 (diff) | |
download | llvm-3c406c2da52302eb5cced431373f240b9c037841.zip llvm-3c406c2da52302eb5cced431373f240b9c037841.tar.gz llvm-3c406c2da52302eb5cced431373f240b9c037841.tar.bz2 |
IR: Use SmallVector instead of std::vector of TrackingMDRef
Don't use std::vector<TrackingMDRef>, since (at least in some versions
of libc++) std::vector apparently copies values on grow operations
instead of moving them. Found this when I was temporarily deleting the
copy constructor for TrackingMDRef to investigate a performance
bottleneck.
llvm-svn: 266909
Diffstat (limited to 'llvm/lib/IR/DIBuilder.cpp')
-rw-r--r-- | llvm/lib/IR/DIBuilder.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/IR/DIBuilder.cpp b/llvm/lib/IR/DIBuilder.cpp index 690918c..e46de24 100644 --- a/llvm/lib/IR/DIBuilder.cpp +++ b/llvm/lib/IR/DIBuilder.cpp @@ -614,7 +614,7 @@ DIGlobalVariable *DIBuilder::createTempGlobalVariableFwdDecl( static DILocalVariable *createLocalVariable( LLVMContext &VMContext, - DenseMap<MDNode *, std::vector<TrackingMDNodeRef>> &PreservedVariables, + DenseMap<MDNode *, SmallVector<TrackingMDNodeRef, 1>> &PreservedVariables, DIScope *Scope, StringRef Name, unsigned ArgNo, DIFile *File, unsigned LineNo, DIType *Ty, bool AlwaysPreserve, unsigned Flags) { // FIXME: Why getNonCompileUnitScope()? |