[all-commits] [llvm/llvm-project] ce2351: [tablegen] Emit string literals instead of char ar...
ldrumm via All-commits
all-commits at lists.llvm.org
Thu Jan 23 05:59:58 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: ce23515f5ab01161c98449d833b3ae013b553aa8
https://github.com/llvm/llvm-project/commit/ce23515f5ab01161c98449d833b3ae013b553aa8
Author: Luke Drummond <luke.drummond at codeplay.com>
Date: 2020-01-23 (Thu, 23 Jan 2020)
Changed paths:
M llvm/cmake/modules/TableGen.cmake
M llvm/utils/TableGen/AsmWriterEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/SequenceToOffsetTable.h
M llvm/utils/TableGen/TableGen.cpp
Log Message:
-----------
[tablegen] Emit string literals instead of char arrays
This changes the generated (Instr|Asm|Reg|Regclass)Name tables from this
form:
extern const char HexagonInstrNameData[] = {
/* 0 */ 'G', '_', 'F', 'L', 'O', 'G', '1', '0', 0,
/* 9 */ 'E', 'N', 'D', 'L', 'O', 'O', 'P', '0', 0,
/* 18 */ 'V', '6', '_', 'v', 'd', 'd', '0', 0,
/* 26 */ 'P', 'S', '_', 'v', 'd', 'd', '0', 0,
[...]
};
...to this:
extern const char HexagonInstrNameData[] = {
/* 0 */ "G_FLOG10\0"
/* 9 */ "ENDLOOP0\0"
/* 18 */ "V6_vdd0\0"
/* 26 */ "PS_vdd0\0"
[...]
};
This should make debugging and exploration a lot easier for mortals,
while providing a significant compile-time reduction for common compilers.
To avoid issues with low implementation limits, this is disabled by
default for visual studio or when cross-compiling.
To force output one way or the other, pass
`--long-string-literals=<bool>` to `tablegen`
Reviewers: mstorsjo, rnk
Subscribers: llvm-commit
Differential Revision: https://reviews.llvm.org/D73044
More information about the All-commits
mailing list