aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFangrui Song <i@maskray.me>2024-03-12 22:28:32 -0700
committerFangrui Song <i@maskray.me>2024-03-12 22:28:32 -0700
commit53613044ddf1bab186cde8d687f7f41bc0b1f9b1 (patch)
tree7f68cb7a00a2b5aa3b6db820adfc03d6bf709ab1
parentdeebf6b312227e028dd3258b162306b9cdb21cf7 (diff)
downloadllvm-53613044ddf1bab186cde8d687f7f41bc0b1f9b1.zip
llvm-53613044ddf1bab186cde8d687f7f41bc0b1f9b1.tar.gz
llvm-53613044ddf1bab186cde8d687f7f41bc0b1f9b1.tar.bz2
[llvm-objcopy] Use SmallVector to make some structs smaller. NFC
-rw-r--r--llvm/include/llvm/ObjCopy/CommonConfig.h17
-rw-r--r--llvm/tools/llvm-objcopy/ObjcopyOptions.cpp2
2 files changed, 9 insertions, 10 deletions
diff --git a/llvm/include/llvm/ObjCopy/CommonConfig.h b/llvm/include/llvm/ObjCopy/CommonConfig.h
index 3833959..3f894b0 100644
--- a/llvm/include/llvm/ObjCopy/CommonConfig.h
+++ b/llvm/include/llvm/ObjCopy/CommonConfig.h
@@ -22,7 +22,6 @@
// Necessary for llvm::DebugCompressionType::None
#include "llvm/Target/TargetOptions.h"
#include <optional>
-#include <vector>
namespace llvm {
namespace objcopy {
@@ -126,8 +125,8 @@ public:
// provided for that option.
class NameMatcher {
DenseSet<CachedHashStringRef> PosNames;
- std::vector<NameOrPattern> PosPatterns;
- std::vector<NameOrPattern> NegMatchers;
+ SmallVector<NameOrPattern, 0> PosPatterns;
+ SmallVector<NameOrPattern, 0> NegMatchers;
public:
Error addMatcher(Expected<NameOrPattern> Matcher) {
@@ -179,8 +178,8 @@ struct NewSymbolInfo {
StringRef SymbolName;
StringRef SectionName;
uint64_t Value = 0;
- std::vector<SymbolFlag> Flags;
- std::vector<StringRef> BeforeSyms;
+ SmallVector<SymbolFlag, 0> Flags;
+ SmallVector<StringRef, 0> BeforeSyms;
};
// Specify section name and section body for newly added or updated section.
@@ -218,9 +217,9 @@ struct CommonConfig {
DiscardType DiscardMode = DiscardType::None;
// Repeated options
- std::vector<NewSectionInfo> AddSection;
- std::vector<StringRef> DumpSection;
- std::vector<NewSectionInfo> UpdateSection;
+ SmallVector<NewSectionInfo, 0> AddSection;
+ SmallVector<StringRef, 0> DumpSection;
+ SmallVector<NewSectionInfo, 0> UpdateSection;
// Section matchers
NameMatcher KeepSection;
@@ -244,7 +243,7 @@ struct CommonConfig {
StringMap<StringRef> SymbolsToRename;
// Symbol info specified by --add-symbol option.
- std::vector<NewSymbolInfo> SymbolsToAdd;
+ SmallVector<NewSymbolInfo, 0> SymbolsToAdd;
// Boolean options
bool DeterministicArchives = true;
diff --git a/llvm/tools/llvm-objcopy/ObjcopyOptions.cpp b/llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
index 6318578..c5c7cc2 100644
--- a/llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
+++ b/llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
@@ -528,7 +528,7 @@ static Expected<NewSymbolInfo> parseNewSymbolInfo(StringRef FlagValue) {
// ArgValue, loads data from the file, and stores section name and data
// into the vector of new sections \p NewSections.
static Error loadNewSectionData(StringRef ArgValue, StringRef OptionName,
- std::vector<NewSectionInfo> &NewSections) {
+ SmallVector<NewSectionInfo, 0> &NewSections) {
if (!ArgValue.contains('='))
return createStringError(errc::invalid_argument,
"bad format for " + OptionName + ": missing '='");