diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp index fda95a5e6a5..e20ee695e6f 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(); } |