aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
diff options
context:
space:
mode:
authorJF Bastien <jfb@google.com>2015-10-20 01:26:54 +0000
committerJF Bastien <jfb@google.com>2015-10-20 01:26:54 +0000
commitc8f89e86d5ba6787b5c4ecdbfc935b64a5edfa31 (patch)
treed0bf8a3fbaf611eed50c8dd19ba264b063b04327 /llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
parentc4829deae8f42f45c0e10b1958e2345f3c5f3611 (diff)
downloadllvm-c8f89e86d5ba6787b5c4ecdbfc935b64a5edfa31.zip
llvm-c8f89e86d5ba6787b5c4ecdbfc935b64a5edfa31.tar.gz
llvm-c8f89e86d5ba6787b5c4ecdbfc935b64a5edfa31.tar.bz2
WebAssembly: fix call/return syntax.
They are now typeless, unlike other operations. llvm-svn: 250793
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp')
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
index fda95a5..e20ee69 100644
--- a/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
@@ -105,7 +105,12 @@ static std::string OpcodeName(const WebAssemblyInstrInfo *TII,
bool HasType = std::string::npos != Under;
std::string::size_type NameEnd = HasType ? Under : Len;
std::string Name(&N[0], &N[NameEnd]);
- return HasType ? (std::string(&N[NameEnd + 1], &N[Len]) + '.' + Name) : Name;
+ if (!HasType)
+ return Name;
+ for (const char *typelessOpcode : { "return", "call" })
+ if (Name == typelessOpcode)
+ return Name;
+ return std::string(&N[NameEnd + 1], &N[Len]) + '.' + Name;
}
static std::string toSymbol(StringRef S) { return ("$" + S).str(); }