WebAssembly: fix call/return syntax.

They are now typeless, unlike other operations.

llvm-svn: 250793
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 @@
   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(); }