<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hi Sam,</div><div><br></div><div>I think your change is causing some WebAssembly tests to start failing.</div><div><br></div><div><div>Failing Tests (36):</div><div> LLVM :: CodeGen/WebAssembly/byval.ll</div><div> LLVM :: CodeGen/WebAssembly/call.ll</div><div> LLVM :: CodeGen/WebAssembly/cfg-stackify-eh.ll</div><div> LLVM :: CodeGen/WebAssembly/cfg-stackify.ll</div><div> LLVM :: CodeGen/WebAssembly/exception.ll</div><div> LLVM :: CodeGen/WebAssembly/f16.ll</div><div> LLVM :: CodeGen/WebAssembly/f32.ll</div><div> LLVM :: CodeGen/WebAssembly/f64.ll</div><div> LLVM :: CodeGen/WebAssembly/fast-isel-noreg.ll</div><div> LLVM :: CodeGen/WebAssembly/frem.ll</div><div> LLVM :: CodeGen/WebAssembly/function-bitcasts-varargs.ll</div><div> LLVM :: CodeGen/WebAssembly/function-bitcasts.ll</div><div> LLVM :: CodeGen/WebAssembly/global.ll</div><div> LLVM :: CodeGen/WebAssembly/i128.ll</div><div> LLVM :: CodeGen/WebAssembly/indirect-import.ll</div><div> LLVM :: CodeGen/WebAssembly/libcalls.ll</div><div> LLVM :: CodeGen/WebAssembly/lower-em-ehsjlj-options.ll</div><div> LLVM :: CodeGen/WebAssembly/lower-global-dtors.ll</div><div> LLVM :: CodeGen/WebAssembly/main-declaration.ll</div><div> LLVM :: CodeGen/WebAssembly/main-no-args.ll</div><div> LLVM :: CodeGen/WebAssembly/mem-intrinsics.ll</div><div> LLVM :: CodeGen/WebAssembly/muloti4.ll</div><div> LLVM :: CodeGen/WebAssembly/reg-stackify.ll</div><div> LLVM :: CodeGen/WebAssembly/returned.ll</div><div> LLVM :: CodeGen/WebAssembly/signext-arg.ll</div><div> LLVM :: CodeGen/WebAssembly/signext-zeroext.ll</div><div> LLVM :: CodeGen/WebAssembly/simd.ll</div><div> LLVM :: CodeGen/WebAssembly/stack-alignment.ll</div><div> LLVM :: CodeGen/WebAssembly/switch.ll</div><div> LLVM :: CodeGen/WebAssembly/umulo-128-legalisation-lowering.ll</div><div> LLVM :: CodeGen/WebAssembly/umulo-i64.ll</div><div> LLVM :: CodeGen/WebAssembly/unreachable.ll</div><div> LLVM :: CodeGen/WebAssembly/unsupported-function-bitcasts.ll</div><div> LLVM :: CodeGen/WebAssembly/unused-argument.ll</div><div> LLVM :: CodeGen/WebAssembly/userstack.ll</div><div> LLVM :: CodeGen/WebAssembly/varargs.ll</div><div><br></div><div> Expected Passes : 29131</div><div> Expected Failures : 149</div><div> Unsupported Tests : 628</div><div> Unexpected Failures: 36</div><div><br></div></div><div>Sample failure:</div><div>Output from test CodeGen/WebAssembly/cfg-stackify.ll<br></div><div><div>Command Output (stderr):</div><div>--</div><div>/llvm/test/CodeGen/WebAssembly/cfg-stackify.ll:1289:13: error: OPT-NEXT: expected string not found in input</div><div>; OPT-NEXT: call test15_callee1@FUNCTION{{$}}</div><div> ^</div><div><stdin>:813:2: note: scanning from here</div><div> call test15_callee1</div><div> ^</div><div><br></div></div><div>It looks like the expected strings in the test just need to updated in these tests.</div><div><br></div><div>Richard</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 22, 2019 at 2:28 PM Sam Clegg via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Author: sbc<br>
Date: Fri Feb 22 14:29:34 2019<br>
New Revision: 354697<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=354697&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=354697&view=rev</a><br>
Log:<br>
[WebAssembly] Remove unneeded MCSymbolRefExpr variants<br>
<br>
We record the type of the symbol (event/function/data/global) in the<br>
MCWasmSymbol and so it should always be clear how to handle a relocation<br>
based on the symbol itself.<br>
<br>
The exception is a function which still needs the special @TYPEINDEX<br>
then the relocation contains the signature rather than the address<br>
of the functions.<br>
<br>
Differential Revision: <a href="https://reviews.llvm.org/D58472" rel="noreferrer" target="_blank">https://reviews.llvm.org/D58472</a><br>
<br>
Modified:<br>
llvm/trunk/include/llvm/MC/MCExpr.h<br>
llvm/trunk/lib/MC/MCExpr.cpp<br>
llvm/trunk/lib/MC/WasmObjectWriter.cpp<br>
llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp<br>
llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp<br>
llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.h<br>
llvm/trunk/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp<br>
llvm/trunk/test/MC/WebAssembly/annotations.s<br>
llvm/trunk/test/MC/WebAssembly/assembler-binary.ll<br>
llvm/trunk/test/MC/WebAssembly/basic-assembly.s<br>
<br>
Modified: llvm/trunk/include/llvm/MC/MCExpr.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCExpr.h?rev=354697&r1=354696&r2=354697&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCExpr.h?rev=354697&r1=354696&r2=354697&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/MC/MCExpr.h (original)<br>
+++ llvm/trunk/include/llvm/MC/MCExpr.h Fri Feb 22 14:29:34 2019<br>
@@ -284,10 +284,7 @@ public:<br>
VK_Hexagon_IE,<br>
VK_Hexagon_IE_GOT,<br>
<br>
- VK_WebAssembly_FUNCTION, // Function table index, rather than virtual addr<br>
- VK_WebAssembly_GLOBAL, // Global object index<br>
- VK_WebAssembly_TYPEINDEX,// Type table index<br>
- VK_WebAssembly_EVENT, // Event index<br>
+ VK_WebAssembly_TYPEINDEX,// Reference to a symbol's type (signature)<br>
<br>
VK_AMDGPU_GOTPCREL32_LO, // symbol@gotpcrel32@lo<br>
VK_AMDGPU_GOTPCREL32_HI, // symbol@gotpcrel32@hi<br>
<br>
Modified: llvm/trunk/lib/MC/MCExpr.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCExpr.cpp?rev=354697&r1=354696&r2=354697&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCExpr.cpp?rev=354697&r1=354696&r2=354697&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/MC/MCExpr.cpp (original)<br>
+++ llvm/trunk/lib/MC/MCExpr.cpp Fri Feb 22 14:29:34 2019<br>
@@ -302,10 +302,7 @@ StringRef MCSymbolRefExpr::getVariantKin<br>
case VK_Hexagon_LD_PLT: return "LDPLT";<br>
case VK_Hexagon_IE: return "IE";<br>
case VK_Hexagon_IE_GOT: return "IEGOT";<br>
- case VK_WebAssembly_FUNCTION: return "FUNCTION";<br>
- case VK_WebAssembly_GLOBAL: return "GLOBAL";<br>
case VK_WebAssembly_TYPEINDEX: return "TYPEINDEX";<br>
- case VK_WebAssembly_EVENT: return "EVENT";<br>
case VK_AMDGPU_GOTPCREL32_LO: return "gotpcrel32@lo";<br>
case VK_AMDGPU_GOTPCREL32_HI: return "gotpcrel32@hi";<br>
case VK_AMDGPU_REL32_LO: return "rel32@lo";<br>
@@ -418,10 +415,7 @@ MCSymbolRefExpr::getVariantKindForName(S<br>
.Case("lo8", VK_AVR_LO8)<br>
.Case("hi8", VK_AVR_HI8)<br>
.Case("hlo8", VK_AVR_HLO8)<br>
- .Case("function", VK_WebAssembly_FUNCTION)<br>
- .Case("global", VK_WebAssembly_GLOBAL)<br>
.Case("typeindex", VK_WebAssembly_TYPEINDEX)<br>
- .Case("event", VK_WebAssembly_EVENT)<br>
.Case("gotpcrel32@lo", VK_AMDGPU_GOTPCREL32_LO)<br>
.Case("gotpcrel32@hi", VK_AMDGPU_GOTPCREL32_HI)<br>
.Case("rel32@lo", VK_AMDGPU_REL32_LO)<br>
<br>
Modified: llvm/trunk/lib/MC/WasmObjectWriter.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/WasmObjectWriter.cpp?rev=354697&r1=354696&r2=354697&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/WasmObjectWriter.cpp?rev=354697&r1=354696&r2=354697&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/MC/WasmObjectWriter.cpp (original)<br>
+++ llvm/trunk/lib/MC/WasmObjectWriter.cpp Fri Feb 22 14:29:34 2019<br>
@@ -1557,15 +1557,16 @@ uint64_t WasmObjectWriter::writeObject(M<br>
assert(Fixup.getKind() ==<br>
MCFixup::getKindForSize(is64Bit() ? 8 : 4, false));<br>
const MCExpr *Expr = Fixup.getValue();<br>
- auto *Sym = dyn_cast<MCSymbolRefExpr>(Expr);<br>
- if (!Sym)<br>
+ auto *SymRef = dyn_cast<MCSymbolRefExpr>(Expr);<br>
+ if (!SymRef)<br>
report_fatal_error("fixups in .init_array should be symbol references");<br>
- if (Sym->getKind() != MCSymbolRefExpr::VK_WebAssembly_FUNCTION)<br>
- report_fatal_error("symbols in .init_array should be for functions");<br>
- if (Sym->getSymbol().getIndex() == InvalidIndex)<br>
+ const auto &TargetSym = cast<const MCSymbolWasm>(SymRef->getSymbol());<br>
+ if (TargetSym.getIndex() == InvalidIndex)<br>
report_fatal_error("symbols in .init_array should exist in symbtab");<br>
+ if (!TargetSym.isFunction())<br>
+ report_fatal_error("symbols in .init_array should be for functions");<br>
InitFuncs.push_back(<br>
- std::make_pair(Priority, Sym->getSymbol().getIndex()));<br>
+ std::make_pair(Priority, TargetSym.getIndex()));<br>
}<br>
}<br>
<br>
<br>
Modified: llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp?rev=354697&r1=354696&r2=354697&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp?rev=354697&r1=354696&r2=354697&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp (original)<br>
+++ llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp Fri Feb 22 14:29:34 2019<br>
@@ -42,23 +42,8 @@ private:<br>
WebAssemblyWasmObjectWriter::WebAssemblyWasmObjectWriter(bool Is64Bit)<br>
: MCWasmObjectTargetWriter(Is64Bit) {}<br>
<br>
-// Test whether the given expression computes a function address.<br>
-static bool isFunctionExpr(const MCExpr *Expr) {<br>
- if (auto SyExp = dyn_cast<MCSymbolRefExpr>(Expr))<br>
- return cast<MCSymbolWasm>(SyExp->getSymbol()).isFunction();<br>
-<br>
- if (auto BinOp = dyn_cast<MCBinaryExpr>(Expr))<br>
- return isFunctionExpr(BinOp->getLHS()) != isFunctionExpr(BinOp->getRHS());<br>
-<br>
- if (auto UnOp = dyn_cast<MCUnaryExpr>(Expr))<br>
- return isFunctionExpr(UnOp->getSubExpr());<br>
-<br>
- return false;<br>
-}<br>
-<br>
-static bool isFunctionType(const MCValue &Target) {<br>
- const MCSymbolRefExpr *RefA = Target.getSymA();<br>
- return RefA && RefA->getKind() == MCSymbolRefExpr::VK_WebAssembly_TYPEINDEX;<br>
+static bool isFunctionSignatureRef(const MCSymbolRefExpr *Ref) {<br>
+ return Ref->getKind() == MCSymbolRefExpr::VK_WebAssembly_TYPEINDEX;<br>
}<br>
<br>
static const MCSection *getFixupSection(const MCExpr *Expr) {<br>
@@ -80,41 +65,33 @@ static const MCSection *getFixupSection(<br>
return nullptr;<br>
}<br>
<br>
-static bool isGlobalType(const MCValue &Target) {<br>
- const MCSymbolRefExpr *RefA = Target.getSymA();<br>
- return RefA && RefA->getKind() == MCSymbolRefExpr::VK_WebAssembly_GLOBAL;<br>
-}<br>
-<br>
-static bool isEventType(const MCValue &Target) {<br>
- const MCSymbolRefExpr *RefA = Target.getSymA();<br>
- return RefA && RefA->getKind() == MCSymbolRefExpr::VK_WebAssembly_EVENT;<br>
-}<br>
-<br>
unsigned WebAssemblyWasmObjectWriter::getRelocType(const MCValue &Target,<br>
const MCFixup &Fixup) const {<br>
- // WebAssembly functions are not allocated in the data address space. To<br>
- // resolve a pointer to a function, we must use a special relocation type.<br>
- bool IsFunction = isFunctionExpr(Fixup.getValue());<br>
+ const MCSymbolRefExpr *RefA = Target.getSymA();<br>
+ assert(RefA);<br>
+ auto& SymA = cast<MCSymbolWasm>(RefA->getSymbol());<br>
<br>
switch (unsigned(Fixup.getKind())) {<br>
case WebAssembly::fixup_code_sleb128_i32:<br>
- if (IsFunction)<br>
+ if (SymA.isFunction())<br>
return wasm::R_WASM_TABLE_INDEX_SLEB;<br>
return wasm::R_WASM_MEMORY_ADDR_SLEB;<br>
case WebAssembly::fixup_code_sleb128_i64:<br>
llvm_unreachable("fixup_sleb128_i64 not implemented yet");<br>
case WebAssembly::fixup_code_uleb128_i32:<br>
- if (isGlobalType(Target))<br>
+ if (SymA.isFunction()) {<br>
+ if (isFunctionSignatureRef(RefA))<br>
+ return wasm::R_WASM_TYPE_INDEX_LEB;<br>
+ else<br>
+ return wasm::R_WASM_FUNCTION_INDEX_LEB;<br>
+ }<br>
+ if (SymA.isGlobal())<br>
return wasm::R_WASM_GLOBAL_INDEX_LEB;<br>
- if (isFunctionType(Target))<br>
- return wasm::R_WASM_TYPE_INDEX_LEB;<br>
- if (IsFunction)<br>
- return wasm::R_WASM_FUNCTION_INDEX_LEB;<br>
- if (isEventType(Target))<br>
+ if (SymA.isEvent())<br>
return wasm::R_WASM_EVENT_INDEX_LEB;<br>
return wasm::R_WASM_MEMORY_ADDR_LEB;<br>
case FK_Data_4:<br>
- if (IsFunction)<br>
+ if (SymA.isFunction())<br>
return wasm::R_WASM_TABLE_INDEX_I32;<br>
if (auto Section = static_cast<const MCSectionWasm *>(<br>
getFixupSection(Fixup.getValue()))) {<br>
<br>
Modified: llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp?rev=354697&r1=354696&r2=354697&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp?rev=354697&r1=354696&r2=354697&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp (original)<br>
+++ llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp Fri Feb 22 14:29:34 2019<br>
@@ -332,15 +332,6 @@ void WebAssemblyAsmPrinter::EmitInstruct<br>
}<br>
}<br>
<br>
-const MCExpr *WebAssemblyAsmPrinter::lowerConstant(const Constant *CV) {<br>
- if (const auto *GV = dyn_cast<GlobalValue>(CV))<br>
- if (GV->getValueType()->isFunctionTy()) {<br>
- return MCSymbolRefExpr::create(<br>
- getSymbol(GV), MCSymbolRefExpr::VK_WebAssembly_FUNCTION, OutContext);<br>
- }<br>
- return AsmPrinter::lowerConstant(CV);<br>
-}<br>
-<br>
bool WebAssemblyAsmPrinter::PrintAsmOperand(const MachineInstr *MI,<br>
unsigned OpNo, unsigned AsmVariant,<br>
const char *ExtraCode,<br>
<br>
Modified: llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.h?rev=354697&r1=354696&r2=354697&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.h?rev=354697&r1=354696&r2=354697&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.h (original)<br>
+++ llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.h Fri Feb 22 14:29:34 2019<br>
@@ -63,7 +63,6 @@ public:<br>
void EmitConstantPool() override;<br>
void EmitFunctionBodyStart() override;<br>
void EmitInstruction(const MachineInstr *MI) override;<br>
- const MCExpr *lowerConstant(const Constant *CV) override;<br>
bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,<br>
unsigned AsmVariant, const char *ExtraCode,<br>
raw_ostream &OS) override;<br>
<br>
Modified: llvm/trunk/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp?rev=354697&r1=354696&r2=354697&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp?rev=354697&r1=354696&r2=354697&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp (original)<br>
+++ llvm/trunk/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp Fri Feb 22 14:29:34 2019<br>
@@ -122,13 +122,8 @@ MCOperand WebAssemblyMCInstLower::lowerS<br>
int64_t Offset,<br>
bool IsFunc, bool IsGlob,<br>
bool IsEvent) const {<br>
- MCSymbolRefExpr::VariantKind VK =<br>
- IsFunc ? MCSymbolRefExpr::VK_WebAssembly_FUNCTION<br>
- : IsGlob ? MCSymbolRefExpr::VK_WebAssembly_GLOBAL<br>
- : IsEvent ? MCSymbolRefExpr::VK_WebAssembly_EVENT<br>
- : MCSymbolRefExpr::VK_None;<br>
-<br>
- const MCExpr *Expr = MCSymbolRefExpr::create(Sym, VK, Ctx);<br>
+ const MCExpr *Expr =<br>
+ MCSymbolRefExpr::create(Sym, MCSymbolRefExpr::VK_None, Ctx);<br>
<br>
if (Offset != 0) {<br>
if (IsFunc)<br>
<br>
Modified: llvm/trunk/test/MC/WebAssembly/annotations.s<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/WebAssembly/annotations.s?rev=354697&r1=354696&r2=354697&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/WebAssembly/annotations.s?rev=354697&r1=354696&r2=354697&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/MC/WebAssembly/annotations.s (original)<br>
+++ llvm/trunk/test/MC/WebAssembly/annotations.s Fri Feb 22 14:29:34 2019<br>
@@ -28,7 +28,7 @@ test_annotation:<br>
local.set 0<br>
block i32<br>
local.get 0<br>
- br_on_exn 0, __cpp_exception@EVENT<br>
+ br_on_exn 0, __cpp_exception<br>
rethrow<br>
end_block<br>
end_try<br>
@@ -59,7 +59,7 @@ test_annotation:<br>
# CHECK-NEXT: local.set 0<br>
# CHECK-NEXT: block i32<br>
# CHECK-NEXT: local.get 0<br>
-# CHECK-NEXT: br_on_exn 0, __cpp_exception@EVENT # 0: down to label6<br>
+# CHECK-NEXT: br_on_exn 0, __cpp_exception # 0: down to label6<br>
# CHECK-NEXT: rethrow # to caller<br>
# CHECK-NEXT: end_block # label6:<br>
# CHECK-NEXT: end_try # label5:<br>
<br>
Modified: llvm/trunk/test/MC/WebAssembly/assembler-binary.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/WebAssembly/assembler-binary.ll?rev=354697&r1=354696&r2=354697&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/WebAssembly/assembler-binary.ll?rev=354697&r1=354696&r2=354697&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/MC/WebAssembly/assembler-binary.ll (original)<br>
+++ llvm/trunk/test/MC/WebAssembly/assembler-binary.ll Fri Feb 22 14:29:34 2019<br>
@@ -26,7 +26,7 @@ entry:<br>
; ASM: .globl foo<br>
; ASM: foo:<br>
; ASM-NEXT: .functype foo (i32) -> ()<br>
-; ASM-NEXT: call bar@FUNCTION<br>
+; ASM-NEXT: call bar<br>
; ASM-NEXT: end_function<br>
; ASM: .functype bar () -> ()<br>
<br>
<br>
Modified: llvm/trunk/test/MC/WebAssembly/basic-assembly.s<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/WebAssembly/basic-assembly.s?rev=354697&r1=354696&r2=354697&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/WebAssembly/basic-assembly.s?rev=354697&r1=354696&r2=354697&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/MC/WebAssembly/basic-assembly.s (original)<br>
+++ llvm/trunk/test/MC/WebAssembly/basic-assembly.s Fri Feb 22 14:29:34 2019<br>
@@ -26,9 +26,9 @@ test0:<br>
br_if 0 # 0: down to label0<br>
.LBB0_1:<br>
loop i32 # label1:<br>
- call something1@FUNCTION<br>
+ call something1<br>
i64.const 1234<br>
- i32.call something2@FUNCTION<br>
+ i32.call something2<br>
i32.const 0<br>
call_indirect 0<br>
i32.const 1<br>
@@ -72,7 +72,7 @@ test0:<br>
local.set 0<br>
block i32<br>
local.get 0<br>
- br_on_exn 0, __cpp_exception@EVENT<br>
+ br_on_exn 0, __cpp_exception<br>
rethrow<br>
.LBB0_4:<br>
end_block<br>
@@ -81,7 +81,7 @@ test0:<br>
throw 0<br>
.LBB0_5:<br>
#i32.trunc_sat_f32_s<br>
- global.get __stack_pointer@GLOBAL<br>
+ global.get __stack_pointer<br>
end_function<br>
.globaltype __stack_pointer, i32<br>
<br>
@@ -105,9 +105,9 @@ test0:<br>
# CHECK-NEXT: br_if 0 # 0: down to label0<br>
# CHECK-NEXT: .LBB0_1:<br>
# CHECK-NEXT: loop i32 # label1:<br>
-# CHECK-NEXT: call something1@FUNCTION<br>
+# CHECK-NEXT: call something1<br>
# CHECK-NEXT: i64.const 1234<br>
-# CHECK-NEXT: i32.call something2@FUNCTION<br>
+# CHECK-NEXT: i32.call something2<br>
# CHECK-NEXT: i32.const 0<br>
# CHECK-NEXT: call_indirect 0<br>
# CHECK-NEXT: i32.const 1<br>
@@ -149,7 +149,7 @@ test0:<br>
# CHECK-NEXT: local.set 0<br>
# CHECK-NEXT: block i32<br>
# CHECK-NEXT: local.get 0<br>
-# CHECK-NEXT: br_on_exn 0, __cpp_exception@EVENT<br>
+# CHECK-NEXT: br_on_exn 0, __cpp_exception<br>
# CHECK-NEXT: rethrow<br>
# CHECK-NEXT: .LBB0_4:<br>
# CHECK-NEXT: end_block<br>
@@ -157,7 +157,7 @@ test0:<br>
# CHECK-NEXT: i32.const 0<br>
# CHECK-NEXT: throw 0<br>
# CHECK-NEXT: .LBB0_5:<br>
-# CHECK-NEXT: global.get __stack_pointer@GLOBAL<br>
+# CHECK-NEXT: global.get __stack_pointer<br>
# CHECK-NEXT: end_function<br>
<br>
# CHECK: .globaltype __stack_pointer, i32<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div></div></div></div></div>