diff options
author | serge-sans-paille <sguelton@mozilla.com> | 2022-12-12 17:02:15 +0100 |
---|---|---|
committer | serge-sans-paille <sguelton@mozilla.com> | 2022-12-23 12:48:17 +0100 |
commit | 5ce4e92264102de21760c94db9166afe8f71fcf6 (patch) | |
tree | a377b5159335afbb39f1d4dc4b9c9b8c799527c2 /llvm/tools/llvm-readobj/llvm-readobj.cpp | |
parent | b7b1e5c96fe05bad7cb68fdaea21d2b88ce7f2d1 (diff) | |
download | llvm-5ce4e92264102de21760c94db9166afe8f71fcf6.zip llvm-5ce4e92264102de21760c94db9166afe8f71fcf6.tar.gz llvm-5ce4e92264102de21760c94db9166afe8f71fcf6.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
This is a recommit of 719d98dfa841c522d8d452f0685e503538415a53 with a
change to llvm/utils/TableGen/OptParserEmitter.cpp to cope with GCC bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108158
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.cpp | 5 |
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) \ { \ |