llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-lld-elf
@llvm/pr-subscribers-lld-macho
Author: Fangrui Song (MaskRay)
<details>
<summary>Changes</summary>
The generated `Tables` holds seven addresses, so needs dynamic
relocations in PIE and shared library builds:
```
static constexpr llvm::opt::OptTable::Tables OptionTables = {
OptionStrTable, OptionPrefixesTable, OptionPrefixesUnion, ...};
...
FooOptTable() : OptTable(OptionTables) {}
```
Emit a function instead. The caller builds the aggregate on the stack
from PC-relative addresses, which the linker resolves:
```
static constexpr llvm::opt::OptTable::Tables optionTables() {
return {OptionStrTable, OptionPrefixesTable, OptionInfoTable, ...};
}
...
FooOptTable() : OptTable(optionTables()) {}
```
Derive the prefix union from the prefix table in the constructor and
drop the emitted OptionPrefixesUnion.
Aided by Opus 5
---
Patch is 29.44 KiB, truncated to 20.00 KiB below, full version:
https://github.com/llvm/llvm-project/pull/224805.diff
50 Files Affected:
- (modified) clang/lib/Options/DriverOptions.cpp (+1-1)
- (modified) clang/tools/clang-installapi/Options.cpp (+1-1)
- (modified) clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp (+1-1)
- (modified) clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp (+1-1)
- (modified) clang/tools/clang-scan-deps/ClangScanDeps.cpp (+3-1)
- (modified) clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp (+1-1)
- (modified) lld/COFF/DriverUtils.cpp (+1-1)
- (modified) lld/ELF/DriverUtils.cpp (+1-1)
- (modified) lld/MachO/DriverUtils.cpp (+1-1)
- (modified) lld/MinGW/Driver.cpp (+1-1)
- (modified) lld/wasm/Driver.cpp (+1-1)
- (modified) lldb/tools/driver/Driver.cpp (+1-1)
- (modified) lldb/tools/lldb-dap/tool/lldb-dap.cpp (+1-1)
- (modified) lldb/tools/lldb-server/lldb-gdbserver.cpp (+1-1)
- (modified) lldb/tools/lldb-server/lldb-platform.cpp (+1-1)
- (modified) llvm/examples/OptSubcommand/llvm-hello-sub.cpp (+1-1)
- (modified) llvm/include/llvm/Option/OptTable.h (+1-3)
- (modified) llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.cpp (+1-2)
- (modified) llvm/lib/Option/OptTable.cpp (+12-6)
- (modified) llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp (+1-1)
- (modified) llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp (+1-1)
- (modified) llvm/tools/dsymutil/dsymutil.cpp (+1-1)
- (modified) llvm/tools/llvm-cas/llvm-cas.cpp (+1-1)
- (modified) llvm/tools/llvm-cgdata/llvm-cgdata.cpp (+1-1)
- (modified) llvm/tools/llvm-cvtres/llvm-cvtres.cpp (+1-1)
- (modified) llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp (+1-1)
- (modified) llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp (+1-1)
- (modified) llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp (+1-1)
- (modified) llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp (+1-1)
- (modified) llvm/tools/llvm-dwp/llvm-dwp.cpp (+1-1)
- (modified) llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp (+3-1)
- (modified) llvm/tools/llvm-ifs/llvm-ifs.cpp (+3-1)
- (modified) llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp (+1-1)
- (modified) llvm/tools/llvm-lipo/llvm-lipo.cpp (+1-1)
- (modified) llvm/tools/llvm-ml/llvm-ml.cpp (+1-1)
- (modified) llvm/tools/llvm-mt/llvm-mt.cpp (+1-1)
- (modified) llvm/tools/llvm-nm/llvm-nm.cpp (+1-1)
- (modified) llvm/tools/llvm-objcopy/ObjcopyOptions.cpp (+6-5)
- (modified) llvm/tools/llvm-objdump/llvm-objdump.cpp (+2-2)
- (modified) llvm/tools/llvm-rc/llvm-rc.cpp (+2-2)
- (modified) llvm/tools/llvm-readobj/llvm-readobj.cpp (+1-1)
- (modified) llvm/tools/llvm-readtapi/llvm-readtapi.cpp (+3-1)
- (modified) llvm/tools/llvm-size/llvm-size.cpp (+1-1)
- (modified) llvm/tools/llvm-strings/llvm-strings.cpp (+1-1)
- (modified) llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp (+1-1)
- (modified) llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp (+1-1)
- (modified) llvm/tools/sancov/sancov.cpp (+1-1)
- (modified) llvm/unittests/Option/OptionParsingTest.cpp (+1-1)
- (modified) llvm/unittests/Option/OptionSubCommandsTest.cpp (+1-1)
- (modified) llvm/utils/TableGen/OptionParserEmitter.cpp (+8-26)
``````````diff
diff --git a/clang/lib/Options/DriverOptions.cpp
b/clang/lib/Options/DriverOptions.cpp
index 50158f13a9653..4a1684cd3ce8c 100644
--- a/clang/lib/Options/DriverOptions.cpp
+++ b/clang/lib/Options/DriverOptions.cpp
@@ -23,7 +23,7 @@ namespace {
class DriverOptTable : public OptTable {
public:
- DriverOptTable() : OptTable(OptionTables) {
+ DriverOptTable() : OptTable(optionTables()) {
setValuesCodeFn(getOptionValuesCode);
}
};
diff --git a/clang/tools/clang-installapi/Options.cpp
b/clang/tools/clang-installapi/Options.cpp
index c3bd0b14ce65a..8c9d1142d1510 100644
--- a/clang/tools/clang-installapi/Options.cpp
+++ b/clang/tools/clang-installapi/Options.cpp
@@ -38,7 +38,7 @@ namespace {
/// \brief Create OptTable class for parsing actual command line arguments.
class DriverOptTable : public opt::OptTable {
public:
- DriverOptTable() : OptTable(OptionTables) {}
+ DriverOptTable() : OptTable(optionTables()) {}
};
} // end anonymous namespace.
diff --git a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
index 2e178aee196b6..0e71d0020c071 100644
--- a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
+++ b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
@@ -179,7 +179,7 @@ enum ID {
class WrapperOptTable : public opt::OptTable {
public:
- WrapperOptTable() : opt::OptTable(OptionTables) {}
+ WrapperOptTable() : opt::OptTable(optionTables()) {}
};
const OptTable &getOptTable() {
diff --git a/clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
b/clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
index 6df0af65e292b..84a3561fb9725 100644
--- a/clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
+++ b/clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
@@ -116,7 +116,7 @@ enum ID {
class WrapperOptTable : public opt::OptTable {
public:
- WrapperOptTable() : opt::OptTable(OptionTables) {}
+ WrapperOptTable() : opt::OptTable(optionTables()) {}
};
const OptTable &getOptTable() {
diff --git a/clang/tools/clang-scan-deps/ClangScanDeps.cpp
b/clang/tools/clang-scan-deps/ClangScanDeps.cpp
index 0cbc115f910df..778f73909665d 100644
--- a/clang/tools/clang-scan-deps/ClangScanDeps.cpp
+++ b/clang/tools/clang-scan-deps/ClangScanDeps.cpp
@@ -59,7 +59,9 @@ enum ID {
class ScanDepsOptTable : public llvm::opt::OptTable {
public:
- ScanDepsOptTable() : OptTable(OptionTables) { setGroupedShortOptions(true); }
+ ScanDepsOptTable() : OptTable(optionTables()) {
+ setGroupedShortOptions(true);
+ }
};
enum ResourceDirRecipeKind {
diff --git a/clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
b/clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
index 84e0ead680d2b..b568c7e87ce7c 100644
--- a/clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
+++ b/clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
@@ -103,7 +103,7 @@ enum ID {
class LinkerOptTable : public opt::OptTable {
public:
- LinkerOptTable() : opt::OptTable(OptionTables) {}
+ LinkerOptTable() : opt::OptTable(optionTables()) {}
};
} // namespace
diff --git a/lld/COFF/DriverUtils.cpp b/lld/COFF/DriverUtils.cpp
index 75530b405c692..265ddee6d8557 100644
--- a/lld/COFF/DriverUtils.cpp
+++ b/lld/COFF/DriverUtils.cpp
@@ -751,7 +751,7 @@ MemoryBufferRef
LinkerDriver::convertResToCOFF(ArrayRef<MemoryBufferRef> mbs,
#define OPTTABLE_CODE
#include "Options.inc"
-COFFOptTable::COFFOptTable() : OptTable(OptionTables, true) {}
+COFFOptTable::COFFOptTable() : OptTable(optionTables(), true) {}
// Set color diagnostics according to --color-diagnostics={auto,always,never}
// or --no-color-diagnostics flags.
diff --git a/lld/ELF/DriverUtils.cpp b/lld/ELF/DriverUtils.cpp
index b2c760eeaf3ec..7bee46d8534bf 100644
--- a/lld/ELF/DriverUtils.cpp
+++ b/lld/ELF/DriverUtils.cpp
@@ -36,7 +36,7 @@ using namespace lld::elf;
#define OPTTABLE_CODE
#include "Options.inc"
-ELFOptTable::ELFOptTable() : OptTable(OptionTables) {}
+ELFOptTable::ELFOptTable() : OptTable(optionTables()) {}
// Set color diagnostics according to --color-diagnostics={auto,always,never}
// or --no-color-diagnostics flags.
diff --git a/lld/MachO/DriverUtils.cpp b/lld/MachO/DriverUtils.cpp
index 9b0f820634ad6..e097d2ce302c3 100644
--- a/lld/MachO/DriverUtils.cpp
+++ b/lld/MachO/DriverUtils.cpp
@@ -35,7 +35,7 @@ using namespace lld::macho;
#define OPTTABLE_CODE
#include "Options.inc"
-MachOOptTable::MachOOptTable() : OptTable(OptionTables) {}
+MachOOptTable::MachOOptTable() : OptTable(optionTables()) {}
// Set color diagnostics according to --color-diagnostics={auto,always,never}
// or --no-color-diagnostics flags.
diff --git a/lld/MinGW/Driver.cpp b/lld/MinGW/Driver.cpp
index b15d06b82146a..53cce5b5c0277 100644
--- a/lld/MinGW/Driver.cpp
+++ b/lld/MinGW/Driver.cpp
@@ -64,7 +64,7 @@ enum {
namespace {
class MinGWOptTable : public opt::OptTable {
public:
- MinGWOptTable() : opt::OptTable(OptionTables, false) {}
+ MinGWOptTable() : opt::OptTable(optionTables(), false) {}
opt::InputArgList parse(ArrayRef<const char *> argv);
};
} // namespace
diff --git a/lld/wasm/Driver.cpp b/lld/wasm/Driver.cpp
index a15c5cf0ad7ed..1de9851d5ed3e 100644
--- a/lld/wasm/Driver.cpp
+++ b/lld/wasm/Driver.cpp
@@ -151,7 +151,7 @@ bool link(ArrayRef<const char *> args, llvm::raw_ostream
&stdoutOS,
namespace {
class WasmOptTable : public opt::OptTable {
public:
- WasmOptTable() : opt::OptTable(OptionTables) {}
+ WasmOptTable() : opt::OptTable(optionTables()) {}
opt::InputArgList parse(ArrayRef<const char *> argv);
};
} // namespace
diff --git a/lldb/tools/driver/Driver.cpp b/lldb/tools/driver/Driver.cpp
index 69894370c07e8..529ec309445cf 100644
--- a/lldb/tools/driver/Driver.cpp
+++ b/lldb/tools/driver/Driver.cpp
@@ -84,7 +84,7 @@ enum ID {
class LLDBOptTable : public opt::OptTable {
public:
- LLDBOptTable() : opt::OptTable(OptionTables) {}
+ LLDBOptTable() : opt::OptTable(optionTables()) {}
};
} // namespace
diff --git a/lldb/tools/lldb-dap/tool/lldb-dap.cpp
b/lldb/tools/lldb-dap/tool/lldb-dap.cpp
index 7dc367af45199..9444f77ae31ca 100644
--- a/lldb/tools/lldb-dap/tool/lldb-dap.cpp
+++ b/lldb/tools/lldb-dap/tool/lldb-dap.cpp
@@ -114,7 +114,7 @@ enum ID {
#include "Options.inc"
class LLDBDAPOptTable : public llvm::opt::OptTable {
public:
- LLDBDAPOptTable() : llvm::opt::OptTable(OptionTables, true) {}
+ LLDBDAPOptTable() : llvm::opt::OptTable(optionTables(), true) {}
};
} // anonymous namespace
diff --git a/lldb/tools/lldb-server/lldb-gdbserver.cpp
b/lldb/tools/lldb-server/lldb-gdbserver.cpp
index 853aee10ac4ec..98a79dedf65c0 100644
--- a/lldb/tools/lldb-server/lldb-gdbserver.cpp
+++ b/lldb/tools/lldb-server/lldb-gdbserver.cpp
@@ -307,7 +307,7 @@ enum ID {
class LLGSOptTable : public opt::OptTable {
public:
- LLGSOptTable() : opt::OptTable(OptionTables) {}
+ LLGSOptTable() : opt::OptTable(optionTables()) {}
void PrintHelp(llvm::StringRef Name) {
std::string Usage =
diff --git a/lldb/tools/lldb-server/lldb-platform.cpp
b/lldb/tools/lldb-server/lldb-platform.cpp
index 8a1e273435d92..29f065c33f409 100644
--- a/lldb/tools/lldb-server/lldb-platform.cpp
+++ b/lldb/tools/lldb-server/lldb-platform.cpp
@@ -73,7 +73,7 @@ enum ID {
class PlatformOptTable : public opt::OptTable {
public:
- PlatformOptTable() : opt::OptTable(OptionTables) {}
+ PlatformOptTable() : opt::OptTable(optionTables()) {}
void PrintHelp(llvm::StringRef Name) {
std::string Usage =
diff --git a/llvm/examples/OptSubcommand/llvm-hello-sub.cpp
b/llvm/examples/OptSubcommand/llvm-hello-sub.cpp
index 485a3bfe89907..bc057002a4b36 100644
--- a/llvm/examples/OptSubcommand/llvm-hello-sub.cpp
+++ b/llvm/examples/OptSubcommand/llvm-hello-sub.cpp
@@ -24,7 +24,7 @@ enum ID {
class HelloSubOptTable : public OptTable {
public:
- HelloSubOptTable() : OptTable(OptionTables) {};
+ HelloSubOptTable() : OptTable(optionTables()) {};
};
} // namespace
diff --git a/llvm/include/llvm/Option/OptTable.h
b/llvm/include/llvm/Option/OptTable.h
index 1532f18b105bd..611cfe826a99f 100644
--- a/llvm/include/llvm/Option/OptTable.h
+++ b/llvm/include/llvm/Option/OptTable.h
@@ -159,7 +159,6 @@ class LLVM_ABI OptTable {
struct Tables {
const StringTable &StrTable;
ArrayRef<StringTable::Offset> PrefixesTable;
- ArrayRef<StringTable::Offset> PrefixesUnion;
ArrayRef<Info> Infos;
ArrayRef<HelpTextVariant> HelpTextVariants;
ArrayRef<SubCommand> SubCommands;
@@ -252,11 +251,10 @@ class LLVM_ABI OptTable {
unsigned &Index) const;
protected:
- OptTable(const Tables &Tables, bool IgnoreCase = false);
-
void setValuesCodeFn(ValuesCodeFnTy Fn) { ValuesCodeFn = Fn; }
public:
+ OptTable(const Tables &T, bool IgnoreCase = false);
virtual ~OptTable();
/// Return the string table used for option names.
diff --git a/llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.cpp
b/llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.cpp
index 624ead6a8ea78..6300cfa56f133 100644
--- a/llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.cpp
+++ b/llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.cpp
@@ -17,14 +17,13 @@ using namespace jitlink;
#define DEBUG_TYPE "jitlink"
-// Create table mapping all options defined in COFFOptions.td
using namespace llvm::opt;
#define OPTTABLE_CODE
#include "COFFOptions.inc"
class COFFOptTable : public opt::OptTable {
public:
- COFFOptTable() : OptTable(OptionTables, true) {}
+ COFFOptTable() : OptTable(optionTables(), true) {}
};
static COFFOptTable optTable;
diff --git a/llvm/lib/Option/OptTable.cpp b/llvm/lib/Option/OptTable.cpp
index c444235076586..87487d625f7e4 100644
--- a/llvm/lib/Option/OptTable.cpp
+++ b/llvm/lib/Option/OptTable.cpp
@@ -78,12 +78,18 @@ OptTable::OptTable(const Tables &T, bool IgnoreCase)
OptionInfos(T.Infos), IgnoreCase(IgnoreCase), SubCommands(T.SubCommands),
SubCommandIDsTable(T.SubCommandIDs),
HelpTextVariantsTable(T.HelpTextVariants) {
- for (StringTable::Offset PrefixOffset : T.PrefixesUnion) {
- StringRef Prefix = (*StrTable)[PrefixOffset];
- PrefixesUnion.push_back(Prefix);
- for (char C : Prefix)
- if (!is_contained(PrefixChars, C))
- PrefixChars.push_back(C);
+ // Each prefix set in PrefixesTable starts with its size.
+ for (unsigned I = 0, E = PrefixesTable.size(); I != E;) {
+ unsigned Size = PrefixesTable[I++].value();
+ for (unsigned J = 0; J != Size; ++J) {
+ StringRef Prefix = (*StrTable)[PrefixesTable[I++]];
+ if (is_contained(PrefixesUnion, Prefix))
+ continue;
+ PrefixesUnion.push_back(Prefix);
+ for (char C : Prefix)
+ if (!is_contained(PrefixChars, C))
+ PrefixChars.push_back(C);
+ }
}
// Find start of normal options.
diff --git a/llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
b/llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
index cef8f5af611d8..d914b49747c32 100644
--- a/llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
+++ b/llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
@@ -45,7 +45,7 @@ using namespace llvm::opt;
class DllOptTable : public opt::OptTable {
public:
- DllOptTable() : opt::OptTable(OptionTables, false) {}
+ DllOptTable() : opt::OptTable(optionTables(), false) {}
};
// Opens a file. Path has to be resolved already.
diff --git a/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
b/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
index 0cae27d4c2765..55e59aa6ac12d 100644
--- a/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
+++ b/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
@@ -50,7 +50,7 @@ using namespace llvm::opt;
class LibOptTable : public opt::OptTable {
public:
- LibOptTable() : opt::OptTable(OptionTables, true) {}
+ LibOptTable() : opt::OptTable(optionTables(), true) {}
};
} // namespace
diff --git a/llvm/tools/dsymutil/dsymutil.cpp b/llvm/tools/dsymutil/dsymutil.cpp
index 9adf846d1e1a3..0b30d3512d8d2 100644
--- a/llvm/tools/dsymutil/dsymutil.cpp
+++ b/llvm/tools/dsymutil/dsymutil.cpp
@@ -74,7 +74,7 @@ using namespace llvm::opt;
class DsymutilOptTable : public opt::OptTable {
public:
- DsymutilOptTable() : opt::OptTable(OptionTables) {}
+ DsymutilOptTable() : opt::OptTable(optionTables()) {}
};
} // namespace
diff --git a/llvm/tools/llvm-cas/llvm-cas.cpp b/llvm/tools/llvm-cas/llvm-cas.cpp
index 7ed4f4fc0846a..d4d79336b5d75 100644
--- a/llvm/tools/llvm-cas/llvm-cas.cpp
+++ b/llvm/tools/llvm-cas/llvm-cas.cpp
@@ -39,7 +39,7 @@ using namespace llvm::opt;
class LLVMCASOptTable : public opt::OptTable {
public:
- LLVMCASOptTable() : opt::OptTable(OptionTables) {}
+ LLVMCASOptTable() : opt::OptTable(optionTables()) {}
};
enum class CommandKind {
diff --git a/llvm/tools/llvm-cgdata/llvm-cgdata.cpp
b/llvm/tools/llvm-cgdata/llvm-cgdata.cpp
index 472805ec06053..f06119a24e6ff 100644
--- a/llvm/tools/llvm-cgdata/llvm-cgdata.cpp
+++ b/llvm/tools/llvm-cgdata/llvm-cgdata.cpp
@@ -57,7 +57,7 @@ using namespace llvm::opt;
class CGDataOptTable : public opt::OptTable {
public:
- CGDataOptTable() : OptTable(OptionTables) {}
+ CGDataOptTable() : OptTable(optionTables()) {}
};
} // end anonymous namespace
diff --git a/llvm/tools/llvm-cvtres/llvm-cvtres.cpp
b/llvm/tools/llvm-cvtres/llvm-cvtres.cpp
index a6f1d42f433e9..e13c66c9ab1a7 100644
--- a/llvm/tools/llvm-cvtres/llvm-cvtres.cpp
+++ b/llvm/tools/llvm-cvtres/llvm-cvtres.cpp
@@ -48,7 +48,7 @@ using namespace llvm::opt;
class CvtResOptTable : public opt::OptTable {
public:
- CvtResOptTable() : opt::OptTable(OptionTables, true) {}
+ CvtResOptTable() : opt::OptTable(optionTables(), true) {}
};
}
diff --git a/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
b/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
index 6584da5f9f41f..457623561e241 100644
--- a/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
+++ b/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
@@ -37,7 +37,7 @@ using namespace llvm::opt;
class CxxfiltOptTable : public opt::OptTable {
public:
- CxxfiltOptTable() : opt::OptTable(OptionTables) {
+ CxxfiltOptTable() : opt::OptTable(optionTables()) {
setGroupedShortOptions(true);
}
};
diff --git a/llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
b/llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
index 447038f1601d7..483b14a841083 100644
--- a/llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
+++ b/llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
@@ -43,7 +43,7 @@ using namespace llvm::opt;
class DebuginfodFindOptTable : public opt::OptTable {
public:
- DebuginfodFindOptTable() : OptTable(OptionTables) {}
+ DebuginfodFindOptTable() : OptTable(optionTables()) {}
};
} // end anonymous namespace
diff --git a/llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
b/llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
index 60c4ba164bc82..1ecb6e8c4bd3d 100644
--- a/llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
+++ b/llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
@@ -42,7 +42,7 @@ using namespace llvm::opt;
class DebuginfodOptTable : public opt::OptTable {
public:
- DebuginfodOptTable() : OptTable(OptionTables) {}
+ DebuginfodOptTable() : OptTable(optionTables()) {}
};
} // end anonymous namespace
diff --git a/llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp
b/llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp
index 0d40bb7d75b79..2176db14f06f4 100644
--- a/llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp
+++ b/llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp
@@ -45,7 +45,7 @@ using namespace llvm::opt;
class DwarfutilOptTable : public opt::OptTable {
public:
- DwarfutilOptTable() : opt::OptTable(OptionTables) {}
+ DwarfutilOptTable() : opt::OptTable(optionTables()) {}
};
} // namespace
diff --git a/llvm/tools/llvm-dwp/llvm-dwp.cpp b/llvm/tools/llvm-dwp/llvm-dwp.cpp
index c24164e3846e2..fac0051aa76e9 100644
--- a/llvm/tools/llvm-dwp/llvm-dwp.cpp
+++ b/llvm/tools/llvm-dwp/llvm-dwp.cpp
@@ -40,7 +40,7 @@ using namespace llvm::opt;
class DwpOptTable : public opt::OptTable {
public:
- DwpOptTable() : OptTable(OptionTables) {}
+ DwpOptTable() : OptTable(optionTables()) {}
};
} // end anonymous namespace
diff --git a/llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
b/llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
index 386af5186077e..e168c8141def9 100644
--- a/llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
+++ b/llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
@@ -75,7 +75,9 @@ enum ID {
class GSYMUtilOptTable : public llvm::opt::OptTable {
public:
- GSYMUtilOptTable() : OptTable(OptionTables) { setGroupedShortOptions(true); }
+ GSYMUtilOptTable() : OptTable(optionTables()) {
+ setGroupedShortOptions(true);
+ }
};
static bool Verbose;
diff --git a/llvm/tools/llvm-ifs/llvm-ifs.cpp b/llvm/tools/llvm-ifs/llvm-ifs.cpp
index 35f08b62ebacc..575a1117363fe 100644
--- a/llvm/tools/llvm-ifs/llvm-ifs.cpp
+++ b/llvm/tools/llvm-ifs/llvm-ifs.cpp
@@ -63,7 +63,9 @@ enum ID {
class IFSOptTable : public opt::OptTable {
public:
- IFSOptTable() : opt::OptTable(OptionTables) { setGroupedShortOptions(true); }
+ IFSOptTable() : opt::OptTable(optionTables()) {
+ setGroupedShortOptions(true);
+ }
};
struct DriverConfig {
diff --git a/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
b/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
index ad3af47de7dde..b2e02173ee3b4 100644
--- a/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
+++ b/llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
@@ -53,7 +53,7 @@ enum ID {
class LibtoolDarwinOptTable : public opt::OptTable {
public:
- LibtoolDarwinOptTable() : OptTable(OptionTables) {}
+ LibtoolDarwinOptTable() : OptTable(optionTables()) {}
};
} // end anonymous namespace
diff --git a/llvm/tools/llvm-lipo/llvm-lipo.cpp
b/llvm/tools/llvm-lipo/llvm-lipo.cpp
index 486321657c3af..c5dd60d1107ad 100644
--- a/llvm/tools/llvm-lipo/llvm-lipo.cpp
+++ b/llvm/tools/llvm-lipo/llvm-lipo.cpp
@@ -77,7 +77,7 @@ using namespace llvm::opt;
class LipoOptTable : public opt::OptTable {
public:
- LipoOptTable() : opt::OptTable(lipo::OptionTables) {}
+ LipoOptTable() : opt::OptTable(lipo::optionTables()) {}
};
enum class LipoAction {
diff --git a/llvm/tools/llvm-ml/llvm-ml.cpp b/llvm/tools/llvm-ml/llvm-ml.cpp
index c6ce99cfc4da7..2a4e0537579d3 100644
--- a/llvm/tools/llvm-ml/llvm-ml.cpp
+++ b/llvm/tools/llvm-ml/llvm-ml.cpp
@@ -64,7 +64,7 @@ enum ID {
class MLOptTable : public opt::OptTable {
public:
- MLOptTable() : opt::OptTable(OptionTables, /*IgnoreCase=*/false) {}
+ MLOptTable() : opt::OptTable(optionTables(), /*IgnoreCase=*/false) {}
};
} // namespace
diff --git a/llvm/tools/llvm-mt/llvm-mt.cpp b/llvm/tools/llvm-mt/llvm-mt.cpp
index 3e651cf56e719..9e781ad2fedb3 100644
--- a/llvm/tools/llvm-mt/llvm-mt.cpp
+++ b/llvm/tools/llvm-mt/llvm-mt.cpp
@@ -46,7 +46,7 @@ using namespace llvm::opt;
class CvtResOptTable : public opt::OptTable {
public:
- CvtResOptTable() : opt::OptTable(OptionTables, true) {}
+ CvtResOptTable() : opt::OptTable(optionTables(), true) {}
};
} // namespace
diff --git a/llvm/tools/llvm-nm/llvm-nm.cpp b/llvm/tools/llvm-nm/llvm-nm.cpp
index 2e9f865675234..e4e4dc6c83083 100644
--- a/llvm/tools/llvm-nm/llvm-nm.cpp
+++ b/llvm/tools/llvm-nm/llvm-nm.cpp
@@ -72,7 +72,7 @@ enum ID {
class NmOptTable : public opt::OptTable {
public:
- NmOptTable() : opt::OptTable(OptionTables) { setGroupedShortOptions(true); }
+ NmOptTable() : opt::OptTable(optionTables()) { setGroupedShortOptions(true);
}
};
enum OutputFormatTy { bsd, sysv, posix, darwin, just_symbols };
diff --git a/llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
b/llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
index 0bbaf95660329..4c0f9d1d09daf 100644
--- a/llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
+++ b/llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
@@ -46,7 +46,7 @@ namespace objcopy_opt {
class ObjcopyOptTable : public opt::OptTable {
public:
- ObjcopyOptTable() : opt::OptTable(objcopy_opt::OptionTables) {
+ ObjcopyOptTable() : opt::OptTable(objcopy_opt::optionTables()) {
setGroupedShortOptions(true);
setDashDashParsing(true);
}
@@ -67,7 +67,7 @@ namespace install_name_tool {
class InstallNameToolOptTable : public opt::OptTable {
public:
- InstallNameToolOptTable() : OptTable(install_name_tool::OptionTables) {}
+ InstallNameToolOptTable() : OptTable(install_name_tool::optionTables()) {}
};
enum BitcodeStripID {
@@ -85,7 +85,7 @@ namespace bitcode_strip {
class BitcodeStripOptTable : public opt::OptTable {
public:
- BitcodeStri...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/224805
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits