aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-readobj/llvm-readobj.cpp
diff options
context:
space:
mode:
authorserge-sans-paille <sguelton@mozilla.com>2022-12-12 17:02:15 +0100
committerserge-sans-paille <sguelton@mozilla.com>2022-12-23 10:31:47 +0100
commit719d98dfa841c522d8d452f0685e503538415a53 (patch)
tree6f5a3cd17dfb2f7d5c0ac34b552b693065b9b31b /llvm/tools/llvm-readobj/llvm-readobj.cpp
parenta4e3457fb752d675c58fb14a3d8ed03fe218b6b0 (diff)
downloadllvm-719d98dfa841c522d8d452f0685e503538415a53.zip
llvm-719d98dfa841c522d8d452f0685e503538415a53.tar.gz
llvm-719d98dfa841c522d8d452f0685e503538415a53.tar.bz2
[clang] Use a StringRef instead of a raw char pointer to store builtin and call information
This avoids recomputing string length that is already known at compile time. It has a slight impact on preprocessing / compile time, see https://llvm-compile-time-tracker.com/compare.php?from=3f36d2d579d8b0e8824d9dd99bfa79f456858f88&to=e49640c507ddc6615b5e503144301c8e41f8f434&stat=instructions:u Differential Revision: https://reviews.llvm.org/D139881
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.cpp')
-rw-r--r--llvm/tools/llvm-readobj/llvm-readobj.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp
index 7cb2036..57598b0 100644
--- a/llvm/tools/llvm-readobj/llvm-readobj.cpp
+++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp
@@ -61,11 +61,12 @@ enum ID {
#undef OPTION
};
-#define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE;
+#define PREFIX(NAME, VALUE) \
+ static constexpr std::initializer_list<StringLiteral> NAME = VALUE;
#include "Opts.inc"
#undef PREFIX
-static constexpr opt::OptTable::Info InfoTable[] = {
+static constexpr std::initializer_list<opt::OptTable::Info> InfoTable = {
#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
HELPTEXT, METAVAR, VALUES) \
{ \