diff options
| author | Wouter van Oortmerssen <aardappel@gmail.com> | 2018-11-19 17:10:36 +0000 |
|---|---|---|
| committer | Wouter van Oortmerssen <aardappel@gmail.com> | 2018-11-19 17:10:36 +0000 |
| commit | 49482f824a0d92f8f97121aaa6e82f409ff23d58 (patch) | |
| tree | b6619cb3dddaca091bf225cbeadfc1fa224c0904 /llvm/lib/MC | |
| parent | b25adf5edba0bfb487828600f4294702e695fdba (diff) | |
| download | bcm5719-llvm-49482f824a0d92f8f97121aaa6e82f409ff23d58.tar.gz bcm5719-llvm-49482f824a0d92f8f97121aaa6e82f409ff23d58.zip | |
[WebAssembly] replaced .param/.result by .functype
Summary:
This makes it easier/cleaner to generate a single signature from
this directive. Also:
- Adds the symbol name, such that we don't depend on the location
of this directive anymore.
- Actually constructs the signature in the assembler, and make the
assembler own it.
- Refactor the use of MVT vs ValType in the streamer and assembler
to require less conversions overall.
- Changed 700 or so tests to use it.
Reviewers: sbc100, dschuff
Subscribers: jgravelle-google, eraman, aheejin, sunfish, jfb, llvm-commits
Differential Revision: https://reviews.llvm.org/D54652
llvm-svn: 347228
Diffstat (limited to 'llvm/lib/MC')
| -rw-r--r-- | llvm/lib/MC/MCParser/AsmLexer.cpp | 7 | ||||
| -rw-r--r-- | llvm/lib/MC/MCParser/MCAsmLexer.cpp | 1 |
2 files changed, 7 insertions, 1 deletions
diff --git a/llvm/lib/MC/MCParser/AsmLexer.cpp b/llvm/lib/MC/MCParser/AsmLexer.cpp index c8d48f033f6..2b0d20f9b8e 100644 --- a/llvm/lib/MC/MCParser/AsmLexer.cpp +++ b/llvm/lib/MC/MCParser/AsmLexer.cpp @@ -627,7 +627,6 @@ AsmToken AsmLexer::LexToken() { return AsmToken(AsmToken::EndOfStatement, StringRef(TokStart, 1)); case ':': return AsmToken(AsmToken::Colon, StringRef(TokStart, 1)); case '+': return AsmToken(AsmToken::Plus, StringRef(TokStart, 1)); - case '-': return AsmToken(AsmToken::Minus, StringRef(TokStart, 1)); case '~': return AsmToken(AsmToken::Tilde, StringRef(TokStart, 1)); case '(': return AsmToken(AsmToken::LParen, StringRef(TokStart, 1)); case ')': return AsmToken(AsmToken::RParen, StringRef(TokStart, 1)); @@ -646,6 +645,12 @@ AsmToken AsmLexer::LexToken() { return AsmToken(AsmToken::EqualEqual, StringRef(TokStart, 2)); } return AsmToken(AsmToken::Equal, StringRef(TokStart, 1)); + case '-': + if (*CurPtr == '>') { + ++CurPtr; + return AsmToken(AsmToken::MinusGreater, StringRef(TokStart, 2)); + } + return AsmToken(AsmToken::Minus, StringRef(TokStart, 1)); case '|': if (*CurPtr == '|') { ++CurPtr; diff --git a/llvm/lib/MC/MCParser/MCAsmLexer.cpp b/llvm/lib/MC/MCParser/MCAsmLexer.cpp index 1ed056800d4..10960fc6963 100644 --- a/llvm/lib/MC/MCParser/MCAsmLexer.cpp +++ b/llvm/lib/MC/MCParser/MCAsmLexer.cpp @@ -85,6 +85,7 @@ void AsmToken::dump(raw_ostream &OS) const { case AsmToken::LessGreater: OS << "LessGreater"; break; case AsmToken::LessLess: OS << "LessLess"; break; case AsmToken::Minus: OS << "Minus"; break; + case AsmToken::MinusGreater: OS << "MinusGreater"; break; case AsmToken::Percent: OS << "Percent"; break; case AsmToken::Pipe: OS << "Pipe"; break; case AsmToken::PipePipe: OS << "PipePipe"; break; |

