diff options
| author | Craig Topper <craig.topper@intel.com> | 2017-10-26 06:46:40 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2017-10-26 06:46:40 +0000 |
| commit | 2a06028c0a407c7dd2134060993770f50e299401 (patch) | |
| tree | 3298fc9c56f3840ebb82d21104dfe4ff5ec0ac3c /llvm/utils/TableGen | |
| parent | 619b15283d1337b1599e9c611e7dc892c3d2577d (diff) | |
| download | bcm5719-llvm-2a06028c0a407c7dd2134060993770f50e299401.tar.gz bcm5719-llvm-2a06028c0a407c7dd2134060993770f50e299401.zip | |
[AsmParser][TableGen] Make the generated mnemonic spell checker function a file local static function.
Also only emit in targets that specificially request it. This is required so we don't get an unused static function error.
llvm-svn: 316640
Diffstat (limited to 'llvm/utils/TableGen')
| -rw-r--r-- | llvm/utils/TableGen/AsmMatcherEmitter.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/llvm/utils/TableGen/AsmMatcherEmitter.cpp b/llvm/utils/TableGen/AsmMatcherEmitter.cpp index fd1d7e0dba4..073513a2fe9 100644 --- a/llvm/utils/TableGen/AsmMatcherEmitter.cpp +++ b/llvm/utils/TableGen/AsmMatcherEmitter.cpp @@ -2823,7 +2823,8 @@ static void emitCustomOperandParsing(raw_ostream &OS, CodeGenTarget &Target, static void emitMnemonicSpellChecker(raw_ostream &OS, CodeGenTarget &Target, unsigned VariantCount) { - OS << "std::string " << Target.getName() << "MnemonicSpellCheck(StringRef S, uint64_t FBS) {\n"; + OS << "static std::string " << Target.getName() + << "MnemonicSpellCheck(StringRef S, uint64_t FBS) {\n"; if (!VariantCount) OS << " return \"\";"; else { @@ -3159,8 +3160,6 @@ void AsmMatcherEmitter::run(raw_ostream &OS) { OS << "};\n\n"; } - emitMnemonicSpellChecker(OS, Target, VariantCount); - OS << "#include \"llvm/Support/Debug.h\"\n"; OS << "#include \"llvm/Support/Format.h\"\n\n"; @@ -3576,6 +3575,13 @@ void AsmMatcherEmitter::run(raw_ostream &OS) { MaxMnemonicIndex, HasMnemonicFirst); OS << "#endif // GET_MATCHER_IMPLEMENTATION\n\n"; + + OS << "\n#ifdef GET_MNEMONIC_SPELL_CHECKER\n"; + OS << "#undef GET_MNEMONIC_SPELL_CHECKER\n\n"; + + emitMnemonicSpellChecker(OS, Target, VariantCount); + + OS << "#endif // GET_MNEMONIC_SPELL_CHECKER\n\n"; } namespace llvm { |

