[lld] r324042 - [WebAssembly] Fix signature mismatches in test code

Sam Clegg via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 1 16:30:03 PST 2018


Author: sbc
Date: Thu Feb  1 16:30:03 2018
New Revision: 324042

URL: http://llvm.org/viewvc/llvm-project?rev=324042&view=rev
Log:
[WebAssembly] Fix signature mismatches in test code

Pass --check-signatures to test executions of lld and
fix resulting errors.

Differential Revision: https://reviews.llvm.org/D42661

Modified:
    lld/trunk/test/wasm/alias.ll
    lld/trunk/test/wasm/archive.ll
    lld/trunk/test/wasm/call-indirect.ll
    lld/trunk/test/wasm/comdats.ll
    lld/trunk/test/wasm/conflict.test
    lld/trunk/test/wasm/data-layout.ll
    lld/trunk/test/wasm/entry.ll
    lld/trunk/test/wasm/export.ll
    lld/trunk/test/wasm/function-imports-first.ll
    lld/trunk/test/wasm/function-imports.ll
    lld/trunk/test/wasm/function-index.test
    lld/trunk/test/wasm/import-memory.test
    lld/trunk/test/wasm/init-fini.ll
    lld/trunk/test/wasm/invalid-stack-size.test
    lld/trunk/test/wasm/load-undefined.test
    lld/trunk/test/wasm/local-symbols.ll
    lld/trunk/test/wasm/locals-duplicate.test
    lld/trunk/test/wasm/many-functions.ll
    lld/trunk/test/wasm/relocatable.ll
    lld/trunk/test/wasm/signature-mismatch.ll
    lld/trunk/test/wasm/stack-pointer.ll
    lld/trunk/test/wasm/strip-debug.test
    lld/trunk/test/wasm/symbol-type-mismatch.ll
    lld/trunk/test/wasm/undefined-entry.test
    lld/trunk/test/wasm/undefined.ll
    lld/trunk/test/wasm/version.ll
    lld/trunk/test/wasm/visibility-hidden.ll
    lld/trunk/test/wasm/weak-alias-overide.ll
    lld/trunk/test/wasm/weak-alias.ll
    lld/trunk/test/wasm/weak-symbols.ll
    lld/trunk/test/wasm/weak-undefined.ll

Modified: lld/trunk/test/wasm/alias.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/alias.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/alias.ll (original)
+++ lld/trunk/test/wasm/alias.ll Thu Feb  1 16:30:03 2018
@@ -1,15 +1,15 @@
 ; RUN: llc -filetype=obj -o %t.o %s
-; RUN: lld -flavor wasm %t.o -o %t.wasm
+; RUN: lld -flavor wasm --check-signatures %t.o -o %t.wasm
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 target triple = "wasm32-unknown-unknown-wasm"
 
- at start_alias = alias i32 (), i32 ()* @_start
+ at start_alias = alias void (), void ()* @_start
 
 ; Function Attrs: nounwind uwtable
-define i32 @_start() local_unnamed_addr #1 {
+define void @_start() local_unnamed_addr #1 {
 entry:
-  ret i32 0
+  ret void
 }
 
 ; CHECK:      --- !WASM
@@ -19,13 +19,10 @@ entry:
 ; CHECK-NEXT:   - Type:            TYPE
 ; CHECK-NEXT:     Signatures:
 ; CHECK-NEXT:       - Index:           0
-; CHECK-NEXT:         ReturnType:      I32
+; CHECK-NEXT:         ReturnType:      NORESULT
 ; CHECK-NEXT:         ParamTypes:
-; CHECK-NEXT:      - Index:           1
-; CHECK-NEXT:        ReturnType:      NORESULT
-; CHECK-NEXT:        ParamTypes:
 ; CHECK-NEXT:   - Type:            FUNCTION
-; CHECK-NEXT:     FunctionTypes:   [ 0, 1 ]
+; CHECK-NEXT:     FunctionTypes:   [ 0, 0 ]
 ; CHECK-NEXT:   - Type:            TABLE
 ; CHECK-NEXT:     Tables:
 ; CHECK-NEXT:       - ElemType:        ANYFUNC
@@ -68,7 +65,7 @@ entry:
 ; CHECK-NEXT:     Functions:
 ; CHECK-NEXT:       - Index:           0
 ; CHECK-NEXT:         Locals:
-; CHECK-NEXT:         Body:            41000B
+; CHECK-NEXT:         Body:            0B
 ; CHECK-NEXT:       - Index:           1
 ; CHECK-NEXT:         Locals:
 ; CHECK-NEXT:         Body:            0B

Modified: lld/trunk/test/wasm/archive.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/archive.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/archive.ll (original)
+++ lld/trunk/test/wasm/archive.ll Thu Feb  1 16:30:03 2018
@@ -4,12 +4,12 @@
 ; RUN: llc -filetype=obj %S/Inputs/hello.ll -o %t.a3.o
 ; RUN: llvm-ar rcs %t.a %t.a1.o %t.a2.o %t.a3.o
 ; RUN: rm -f %t.imports
-; RUN: not lld -flavor wasm %t.a %t.o -o %t.wasm 2>&1 | FileCheck -check-prefix=CHECK-UNDEFINED %s
+; RUN: not lld -flavor wasm --check-signatures %t.a %t.o -o %t.wasm 2>&1 | FileCheck -check-prefix=CHECK-UNDEFINED %s
 
 ; CHECK-UNDEFINED: undefined symbol: missing_func
 
 ; RUN: echo 'missing_func' > %t.imports
-; RUN: lld -flavor wasm %t.a %t.o -o %t.wasm
+; RUN: lld -flavor wasm --check-signatures %t.a %t.o -o %t.wasm
 
 ; RUN: llvm-nm -a %t.wasm | FileCheck %s
 
@@ -18,11 +18,11 @@ target triple = "wasm32-unknown-unknown-
 declare i32 @foo() local_unnamed_addr #1
 declare i32 @missing_func() local_unnamed_addr #1
 
-define i32 @_start() local_unnamed_addr #0 {
+define void @_start() local_unnamed_addr #0 {
 entry:
   %call1 = call i32 @foo() #2
   %call2 = call i32 @missing_func() #2
-  ret i32 %call2
+  ret void
 }
 
 ; Verify that multually dependant object files in an archive is handled
@@ -36,4 +36,4 @@ entry:
 ; CHECK-NOT: hello
 
 ; Specifying the same archive twice is allowed.
-; RUN: lld -flavor wasm %t.a %t.a %t.o -o %t.wasm
+; RUN: lld -flavor wasm --check-signatures %t.a %t.a %t.o -o %t.wasm

Modified: lld/trunk/test/wasm/call-indirect.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/call-indirect.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/call-indirect.ll (original)
+++ lld/trunk/test/wasm/call-indirect.ll Thu Feb  1 16:30:03 2018
@@ -1,6 +1,6 @@
 ; RUN: llc -filetype=obj %p/Inputs/call-indirect.ll -o %t2.o
 ; RUN: llc -filetype=obj %s -o %t.o
-; RUN: lld -flavor wasm -no-gc-sections -o %t.wasm %t2.o %t.o
+; RUN: lld -flavor wasm -no-gc-sections --check-signatures -o %t.wasm %t2.o %t.o
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 ; bitcode generated from the following C code:
@@ -19,11 +19,11 @@ entry:
 }
 
 ; Function Attrs: nounwind
-define i32 @_start() local_unnamed_addr #1 {
+define void @_start() local_unnamed_addr #1 {
 entry:
   %0 = load i32 ()*, i32 ()** @indirect_func, align 4
   %call = call i32 %0() #2
-  ret i32 0
+  ret void
 }
 
 ; Indirect function call where no function actually has this type.
@@ -57,7 +57,7 @@ define void @call_ptr(i64 (i64)* %arg) {
 ; CHECK-NEXT:         ParamTypes:
 ; CHECK-NEXT:           - I32
 ; CHECK-NEXT:   - Type:            FUNCTION
-; CHECK-NEXT:     FunctionTypes:   [ 0, 3, 1, 1, 4, 3 ]
+; CHECK-NEXT:     FunctionTypes:   [ 0, 3, 1, 3, 4, 3 ]
 ; CHECK-NEXT:   - Type:            TABLE
 ; CHECK-NEXT:     Tables:
 ; CHECK-NEXT:       - ElemType:        ANYFUNC
@@ -126,7 +126,7 @@ define void @call_ptr(i64 (i64)* %arg) {
 ; CHECK-NEXT:         Body:            41020B
 ; CHECK-NEXT:       - Index:           3
 ; CHECK-NEXT:         Locals:
-; CHECK-NEXT:         Body:            410028028888808000118180808000001A41000B
+; CHECK-NEXT:         Body:            410028028888808000118180808000001A0B
 ; CHECK-NEXT:       - Index:           4
 ; CHECK-NEXT:         Locals:
 ; CHECK-NEXT:         Body:            42012000118280808000001A0B

Modified: lld/trunk/test/wasm/comdats.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/comdats.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/comdats.ll (original)
+++ lld/trunk/test/wasm/comdats.ll Thu Feb  1 16:30:03 2018
@@ -1,7 +1,7 @@
 ; RUN: llc -filetype=obj -mtriple=wasm32-unknown-uknown-wasm %p/Inputs/comdat1.ll -o %t1.o
 ; RUN: llc -filetype=obj -mtriple=wasm32-unknown-uknown-wasm %p/Inputs/comdat2.ll -o %t2.o
 ; RUN: llc -filetype=obj -mtriple=wasm32-unknown-uknown-wasm %s -o %t.o
-; RUN: lld -flavor wasm -no-gc-sections -o %t.wasm %t.o %t1.o %t2.o
+; RUN: lld -flavor wasm -no-gc-sections --check-signatures -o %t.wasm %t.o %t1.o %t2.o
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 target triple = "wasm32-unknown-unknown-wasm"

Modified: lld/trunk/test/wasm/conflict.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/conflict.test?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/conflict.test (original)
+++ lld/trunk/test/wasm/conflict.test Thu Feb  1 16:30:03 2018
@@ -1,5 +1,5 @@
 # RUN: llc -filetype=obj %p/Inputs/ret32.ll -o %t.ret32.o
-# RUN: not lld -flavor wasm -o %t.wasm %t.ret32.o %t.ret32.o 2>&1 | FileCheck %s
+# RUN: not lld -flavor wasm --check-signatures -o %t.wasm %t.ret32.o %t.ret32.o 2>&1 | FileCheck %s
 
 # CHECK:      duplicate symbol: ret32
 # CHECK-NEXT: >>> defined in {{.*}}conflict.test.tmp.ret32.o

Modified: lld/trunk/test/wasm/data-layout.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/data-layout.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/data-layout.ll (original)
+++ lld/trunk/test/wasm/data-layout.ll Thu Feb  1 16:30:03 2018
@@ -9,7 +9,7 @@ target triple = "wasm32-unknown-unknown-
 @hello_str = external global i8*
 @external_ref = global i8** @hello_str, align 8
 
-; RUN: lld -flavor wasm -no-gc-sections --allow-undefined -o %t.wasm %t.o %t.hello.o
+; RUN: lld -flavor wasm -no-gc-sections --check-signatures --allow-undefined -o %t.wasm %t.o %t.hello.o
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 ; CHECK:        - Type:            GLOBAL
@@ -43,7 +43,7 @@ target triple = "wasm32-unknown-unknown-
 ; CHECK-NEXT:         Content:         68656C6C6F0A00
 
 
-; RUN: lld -flavor wasm --relocatable -o %t_reloc.wasm %t.o %t.hello.o
+; RUN: lld -flavor wasm --check-signatures --relocatable -o %t_reloc.wasm %t.o %t.hello.o
 ; RUN: obj2yaml %t_reloc.wasm | FileCheck %s -check-prefix=RELOC
 
 ; RELOC:        - Type:            GLOBAL

Modified: lld/trunk/test/wasm/entry.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/entry.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/entry.ll (original)
+++ lld/trunk/test/wasm/entry.ll Thu Feb  1 16:30:03 2018
@@ -7,9 +7,9 @@ entry:
   ret void
 }
 
-; RUN: lld -flavor wasm -e entry -o %t1.wasm %t.o
+; RUN: lld -flavor wasm --check-signatures -e entry -o %t1.wasm %t.o
 ; RUN: obj2yaml %t1.wasm | FileCheck %s
-; RUN: lld -flavor wasm --entry=entry -o %t2.wasm %t.o
+; RUN: lld -flavor wasm --check-signatures --entry=entry -o %t2.wasm %t.o
 ; RUN: obj2yaml %t2.wasm | FileCheck %s
 
 ; CHECK:        - Type:            EXPORT
@@ -23,7 +23,7 @@ entry:
 
 ; The __wasm_call_ctors is somewhat special.  Make sure we can use it
 ; as the entry point if we choose
-; RUN: lld -flavor wasm --entry=__wasm_call_ctors -o %t3.wasm %t.o
+; RUN: lld -flavor wasm --check-signatures --entry=__wasm_call_ctors -o %t3.wasm %t.o
 ; RUN: obj2yaml %t3.wasm | FileCheck %s -check-prefix=CHECK-CTOR
 
 ; CHECK-CTOR:        - Type:            EXPORT

Modified: lld/trunk/test/wasm/export.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/export.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/export.ll (original)
+++ lld/trunk/test/wasm/export.ll Thu Feb  1 16:30:03 2018
@@ -1,6 +1,6 @@
 ; RUN: llc -filetype=obj %s -o %t.o
-; RUN: not lld -flavor wasm --export=missing -o %t.wasm %t.o 2>&1 | FileCheck -check-prefix=CHECK-ERROR %s
-; RUN: lld -flavor wasm --export=hidden_function -o %t.wasm %t.o
+; RUN: not lld -flavor wasm --check-signatures --export=missing -o %t.wasm %t.o 2>&1 | FileCheck -check-prefix=CHECK-ERROR %s
+; RUN: lld -flavor wasm --check-signatures --export=hidden_function -o %t.wasm %t.o
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 target triple = "wasm32-unknown-unknown-wasm"
@@ -10,9 +10,9 @@ entry:
   ret i32 0
 }
 
-define i32 @_start() local_unnamed_addr {
+define void @_start() local_unnamed_addr {
 entry:
-  ret i32 0
+  ret void
 }
 
 ; CHECK-ERROR: error: symbol exported via --export not found: missing

Modified: lld/trunk/test/wasm/function-imports-first.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/function-imports-first.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/function-imports-first.ll (original)
+++ lld/trunk/test/wasm/function-imports-first.ll Thu Feb  1 16:30:03 2018
@@ -1,6 +1,6 @@
 ; RUN: llc -filetype=obj %p/Inputs/ret32.ll -o %t.ret32.o
 ; RUN: llc -filetype=obj %s -o %t.o
-; RUN: lld -flavor wasm -o %t.wasm %t.o %t.ret32.o
+; RUN: lld -flavor wasm --check-signatures -o %t.wasm %t.o %t.ret32.o
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 target triple = "wasm32-unknown-unknown-wasm"

Modified: lld/trunk/test/wasm/function-imports.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/function-imports.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/function-imports.ll (original)
+++ lld/trunk/test/wasm/function-imports.ll Thu Feb  1 16:30:03 2018
@@ -1,6 +1,6 @@
 ; RUN: llc -filetype=obj %p/Inputs/ret32.ll -o %t.ret32.o
 ; RUN: llc -filetype=obj %s -o %t.o
-; RUN: lld -flavor wasm -o %t.wasm %t.ret32.o %t.o
+; RUN: lld -flavor wasm --check-signatures -o %t.wasm %t.ret32.o %t.o
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 target triple = "wasm32-unknown-unknown-wasm"

Modified: lld/trunk/test/wasm/function-index.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/function-index.test?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/function-index.test (original)
+++ lld/trunk/test/wasm/function-index.test Thu Feb  1 16:30:03 2018
@@ -1,6 +1,6 @@
 # RUN: llc -filetype=obj %p/Inputs/ret32.ll -o %t.ret32.o
 # RUN: llc -filetype=obj %p/Inputs/ret64.ll -o %t.ret64.o
-# RUN: lld -flavor wasm -r -o %t.wasm %t.ret32.o %t.ret64.o
+# RUN: lld -flavor wasm --check-signatures -r -o %t.wasm %t.ret32.o %t.ret64.o
 # RUN: obj2yaml %t.wasm | FileCheck %s
 
 CHECK: Sections:

Modified: lld/trunk/test/wasm/import-memory.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/import-memory.test?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/import-memory.test (original)
+++ lld/trunk/test/wasm/import-memory.test Thu Feb  1 16:30:03 2018
@@ -1,5 +1,5 @@
 # RUN: llc -filetype=obj %p/Inputs/start.ll -o %t.start.o
-# RUN: lld -flavor wasm --import-memory -o %t.wasm %t.start.o
+# RUN: lld -flavor wasm --check-signatures --import-memory -o %t.wasm %t.start.o
 # RUN: obj2yaml %t.wasm | FileCheck %s
 
 # Verify the --import-memory flag creates a memory import

Modified: lld/trunk/test/wasm/init-fini.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/init-fini.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/init-fini.ll (original)
+++ lld/trunk/test/wasm/init-fini.ll Thu Feb  1 16:30:03 2018
@@ -44,7 +44,7 @@ entry:
   { i32, void ()*, i8* } { i32 101, void ()* @func4, i8* null }
 ]
 
-; RUN: lld -flavor wasm %t.o %t.global-ctor-dtor.o -o %t.wasm
+; RUN: lld -flavor wasm --check-signatures %t.o %t.global-ctor-dtor.o -o %t.wasm
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 ; CHECK:        - Type:            ELEM
@@ -104,7 +104,7 @@ entry:
 ; CHECK-NEXT: ...
 
 
-; RUN: lld -flavor wasm -r %t.o %t.global-ctor-dtor.o -o %t.reloc.wasm
+; RUN: lld -flavor wasm --check-signatures -r %t.o %t.global-ctor-dtor.o -o %t.reloc.wasm
 ; RUN: obj2yaml %t.reloc.wasm | FileCheck -check-prefix=RELOC %s
 
 ; RELOC:          Name:            linking

Modified: lld/trunk/test/wasm/invalid-stack-size.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/invalid-stack-size.test?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/invalid-stack-size.test (original)
+++ lld/trunk/test/wasm/invalid-stack-size.test Thu Feb  1 16:30:03 2018
@@ -1,4 +1,4 @@
 ; RUN: llc -filetype=obj %p/Inputs/start.ll -o %t.o
-; RUN: not lld -flavor wasm -o %t.wasm -z stack-size=1 %t.o 2>&1 | FileCheck %s
+; RUN: not lld -flavor wasm --check-signatures -o %t.wasm -z stack-size=1 %t.o 2>&1 | FileCheck %s
 
 ; CHECK: error: stack size must be 16-byte aligned

Modified: lld/trunk/test/wasm/load-undefined.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/load-undefined.test?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/load-undefined.test (original)
+++ lld/trunk/test/wasm/load-undefined.test Thu Feb  1 16:30:03 2018
@@ -5,7 +5,7 @@
 ; RUN: llc -filetype=obj %S/Inputs/ret32.ll -o %t2.o
 ; RUN: llc -filetype=obj %S/Inputs/start.ll -o %t.start.o
 ; RUN: llvm-ar rcs %t2.a %t2.o
-; RUN: lld -flavor wasm %t.start.o %t2.a %t.o -o %t.wasm -u ret32 --undefined ret64
+; RUN: lld -flavor wasm --check-signatures %t.start.o %t2.a %t.o -o %t.wasm -u ret32 --undefined ret64
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 ; CHECK:        - Type:            EXPORT
@@ -29,8 +29,8 @@
 
 
 ; Verify that referencing a symbol that doesn't exist won't work
-; RUN: not lld -flavor wasm %t.start.o -o %t.wasm -u symboldoesnotexist 2>&1 | FileCheck -check-prefix=CHECK-UNDEFINED1 %s
+; RUN: not lld -flavor wasm --check-signatures %t.start.o -o %t.wasm -u symboldoesnotexist 2>&1 | FileCheck -check-prefix=CHECK-UNDEFINED1 %s
 ; CHECK-UNDEFINED1: error: undefined symbol: symboldoesnotexist
 
-; RUN: not lld -flavor wasm %t.start.o -o %t.wasm --undefined symboldoesnotexist --allow-undefined 2>&1 | FileCheck -check-prefix=CHECK-UNDEFINED2 %s
+; RUN: not lld -flavor wasm --check-signatures %t.start.o -o %t.wasm --undefined symboldoesnotexist --allow-undefined 2>&1 | FileCheck -check-prefix=CHECK-UNDEFINED2 %s
 ; CHECK-UNDEFINED2: function forced with --undefined not found: symboldoesnotexist

Modified: lld/trunk/test/wasm/local-symbols.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/local-symbols.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/local-symbols.ll (original)
+++ lld/trunk/test/wasm/local-symbols.ll Thu Feb  1 16:30:03 2018
@@ -1,5 +1,5 @@
 ; RUN: llc -filetype=obj %s -o %t.o
-; RUN: lld -flavor wasm -o %t.wasm %t.o
+; RUN: lld -flavor wasm --check-signatures -o %t.wasm %t.o
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 target triple = "wasm32-unknown-unknown-wasm"
@@ -13,10 +13,10 @@ entry:
   ret i32 %0
 }
 
-define i32 @_start() local_unnamed_addr {
+define void @_start() local_unnamed_addr {
 entry:
   call i32 @baz()
-  ret i32 1
+  ret void
 }
 
 ; CHECK:      --- !WASM
@@ -32,7 +32,7 @@ entry:
 ; CHECK-NEXT:         ReturnType:      NORESULT
 ; CHECK-NEXT:         ParamTypes:
 ; CHECK-NEXT:   - Type:            FUNCTION
-; CHECK-NEXT:     FunctionTypes:   [ 0, 0, 1 ]
+; CHECK-NEXT:     FunctionTypes:   [ 0, 1, 1 ]
 ; CHECK-NEXT:   - Type:            TABLE
 ; CHECK-NEXT:     Tables:
 ; CHECK-NEXT:       - ElemType:        ANYFUNC
@@ -75,7 +75,7 @@ entry:
 ; CHECK-NEXT:         Body:            4100280284888080000B
 ; CHECK-NEXT:       - Index:           1
 ; CHECK-NEXT:         Locals:
-; CHECK-NEXT:         Body:            1080808080001A41010B
+; CHECK-NEXT:         Body:            1080808080001A0B
 ; CHECK-NEXT:       - Index:           2
 ; CHECK-NEXT:         Locals:
 ; CHECK-NEXT:         Body:            0B

Modified: lld/trunk/test/wasm/locals-duplicate.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/locals-duplicate.test?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/locals-duplicate.test (original)
+++ lld/trunk/test/wasm/locals-duplicate.test Thu Feb  1 16:30:03 2018
@@ -1,6 +1,6 @@
 ; RUN: llc -filetype=obj %p/Inputs/locals-duplicate1.ll -o %t1.o
 ; RUN: llc -filetype=obj %p/Inputs/locals-duplicate2.ll -o %t2.o
-; RUN: lld -flavor wasm --no-entry -o %t.wasm %t1.o %t2.o
+; RUN: lld -flavor wasm --check-signatures --no-entry -o %t.wasm %t1.o %t2.o
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 ; CHECK:      --- !WASM
@@ -212,7 +212,7 @@
 ; CHECK-NEXT: ...
 
 
-; RUN: lld -flavor wasm -r --no-entry -o %t.reloc.wasm %t1.o %t2.o
+; RUN: lld -flavor wasm --check-signatures -r --no-entry -o %t.reloc.wasm %t1.o %t2.o
 ; RUN: obj2yaml %t.reloc.wasm | FileCheck -check-prefix=RELOC %s
 
 ; RELOC:      --- !WASM

Modified: lld/trunk/test/wasm/many-functions.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/many-functions.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/many-functions.ll (original)
+++ lld/trunk/test/wasm/many-functions.ll Thu Feb  1 16:30:03 2018
@@ -1,6 +1,6 @@
 ; RUN: llc -filetype=obj %p/Inputs/many-funcs.ll -o %t.many.o
 ; RUN: llc -filetype=obj %s -o %t.o
-; RUN: lld -flavor wasm -r -o %t.wasm %t.many.o %t.o
+; RUN: lld -flavor wasm --check-signatures -r -o %t.wasm %t.many.o %t.o
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 ; Test that relocations within the CODE section correctly handle

Modified: lld/trunk/test/wasm/relocatable.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/relocatable.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/relocatable.ll (original)
+++ lld/trunk/test/wasm/relocatable.ll Thu Feb  1 16:30:03 2018
@@ -1,6 +1,6 @@
 ; RUN: llc -filetype=obj %p/Inputs/hello.ll -o %t.hello.o
 ; RUN: llc -filetype=obj %s -o %t.o
-; RUN: lld -flavor wasm -r -o %t.wasm %t.hello.o %t.o
+; RUN: lld -flavor wasm --check-signatures -r -o %t.wasm %t.hello.o %t.o
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 target triple = "wasm32-unknown-unknown-wasm"

Modified: lld/trunk/test/wasm/signature-mismatch.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/signature-mismatch.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/signature-mismatch.ll (original)
+++ lld/trunk/test/wasm/signature-mismatch.ll Thu Feb  1 16:30:03 2018
@@ -1,6 +1,6 @@
 ; RUN: llc -filetype=obj %p/Inputs/ret32.ll -o %t.ret32.o
 ; RUN: llc -filetype=obj %s -o %t.main.o
-; RUN: not lld -flavor wasm --check-signatures -o %t.wasm %t.main.o %t.ret32.o 2>&1 | FileCheck %s
+; RUN: not lld -flavor wasm --check-signatures --check-signatures -o %t.wasm %t.main.o %t.ret32.o 2>&1 | FileCheck %s
 
 target triple = "wasm32-unknown-unknown-wasm"
 

Modified: lld/trunk/test/wasm/stack-pointer.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/stack-pointer.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/stack-pointer.ll (original)
+++ lld/trunk/test/wasm/stack-pointer.ll Thu Feb  1 16:30:03 2018
@@ -1,5 +1,5 @@
 ; RUN: llc -filetype=obj %s -o %t.o
-; RUN: lld -flavor wasm --relocatable -o %t.wasm %t.o
+; RUN: lld -flavor wasm --check-signatures --relocatable -o %t.wasm %t.o
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 target triple = "wasm32-unknown-unknown-wasm"

Modified: lld/trunk/test/wasm/strip-debug.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/strip-debug.test?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/strip-debug.test (original)
+++ lld/trunk/test/wasm/strip-debug.test Thu Feb  1 16:30:03 2018
@@ -1,5 +1,5 @@
 RUN: llc -filetype=obj %p/Inputs/start.ll -o %t.start.o
-RUN: lld -flavor wasm --strip-debug -o %t.wasm %t.start.o
+RUN: lld -flavor wasm --check-signatures --strip-debug -o %t.wasm %t.start.o
 RUN: obj2yaml %t.wasm | FileCheck %s
 
 # Check that there is no name section

Modified: lld/trunk/test/wasm/symbol-type-mismatch.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/symbol-type-mismatch.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/symbol-type-mismatch.ll (original)
+++ lld/trunk/test/wasm/symbol-type-mismatch.ll Thu Feb  1 16:30:03 2018
@@ -1,6 +1,6 @@
 ; RUN: llc -filetype=obj %s -o %t.o
 ; RUN: llc -filetype=obj %p/Inputs/ret32.ll -o %t.ret32.o
-; RUN: not lld -flavor wasm -o %t.wasm %t.o %t.ret32.o 2>&1 | FileCheck %s
+; RUN: not lld -flavor wasm --check-signatures -o %t.wasm %t.o %t.ret32.o 2>&1 | FileCheck %s
 
 target triple = "wasm32-unknown-unknown-wasm"
 

Modified: lld/trunk/test/wasm/undefined-entry.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/undefined-entry.test?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/undefined-entry.test (original)
+++ lld/trunk/test/wasm/undefined-entry.test Thu Feb  1 16:30:03 2018
@@ -1,10 +1,10 @@
 RUN: llc -filetype=obj %p/Inputs/ret32.ll -o %t.ret32.o
-RUN: not lld -flavor wasm -o %t.wasm %t.ret32.o 2>&1 | FileCheck %s
+RUN: not lld -flavor wasm --check-signatures -o %t.wasm %t.ret32.o 2>&1 | FileCheck %s
 
 CHECK: error: undefined symbol: _start
 
-RUN: not lld -flavor wasm -entry=foo -o %t.wasm %t.ret32.o 2>&1 | FileCheck %s -check-prefix=CHECK-CUSTOM
+RUN: not lld -flavor wasm --check-signatures -entry=foo -o %t.wasm %t.ret32.o 2>&1 | FileCheck %s -check-prefix=CHECK-CUSTOM
 
 CHECK-CUSTOM: error: undefined symbol: foo
 
-RUN: lld -flavor wasm -entry=foo --allow-undefined -o %t.wasm %t.ret32.o
+RUN: lld -flavor wasm --check-signatures -entry=foo --allow-undefined -o %t.wasm %t.ret32.o

Modified: lld/trunk/test/wasm/undefined.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/undefined.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/undefined.ll (original)
+++ lld/trunk/test/wasm/undefined.ll Thu Feb  1 16:30:03 2018
@@ -1,13 +1,13 @@
 ; RUN: llc -filetype=obj %s -o %t.o
-; RUN: lld -flavor wasm --allow-undefined -o %t.wasm %t.o
+; RUN: lld -flavor wasm --check-signatures --allow-undefined -o %t.wasm %t.o
 
 ; Fails due to undefined 'foo'
-; RUN: not lld -flavor wasm -o %t.wasm %t.o 2>&1 | FileCheck %s
+; RUN: not lld -flavor wasm --check-signatures -o %t.wasm %t.o 2>&1 | FileCheck %s
 ; CHECK: error: {{.*}}.o: undefined symbol: foo
 
 ; But succeeds if we pass a file containing 'foo' as --allow-undefined-file.
 ; RUN: echo 'foo' > %t.txt
-; RUN: lld -flavor wasm --allow-undefined-file=%t.txt -o %t.wasm %t.o
+; RUN: lld -flavor wasm --check-signatures --allow-undefined-file=%t.txt -o %t.wasm %t.o
 
 target triple = "wasm32-unknown-unknown-wasm"
 

Modified: lld/trunk/test/wasm/version.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/version.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/version.ll (original)
+++ lld/trunk/test/wasm/version.ll Thu Feb  1 16:30:03 2018
@@ -1,5 +1,5 @@
 ; RUN: llc -filetype=obj %s -o %t.o
-; RUN: lld -flavor wasm -o %t.wasm %t.o
+; RUN: lld -flavor wasm --check-signatures -o %t.wasm %t.o
 ; RUN: llvm-readobj -file-headers %t.wasm | FileCheck %s
 
 target triple = "wasm32-unknown-unknown-wasm"

Modified: lld/trunk/test/wasm/visibility-hidden.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/visibility-hidden.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/visibility-hidden.ll (original)
+++ lld/trunk/test/wasm/visibility-hidden.ll Thu Feb  1 16:30:03 2018
@@ -1,7 +1,7 @@
 ; RUN: llc -filetype=obj -o %t.o %s
 ; RUN: llc -filetype=obj %S/Inputs/hidden.ll -o %t2.o
 ; RUN: llvm-ar rcs %t2.a %t2.o
-; RUN: lld -flavor wasm %t.o %t2.a -o %t.wasm
+; RUN: lld -flavor wasm --check-signatures %t.o %t2.a -o %t.wasm
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 ; Test that hidden symbols are not exported, whether pulled in from an archive
@@ -22,13 +22,13 @@ entry:
 declare i32 @archiveHidden()
 declare i32 @archiveDefault()
 
-define i32 @_start() {
+define void @_start() {
 entry:
   %call1 = call i32 @objectHidden()
   %call2 = call i32 @objectDefault()
   %call3 = call i32 @archiveHidden()
   %call4 = call i32 @archiveDefault()
-  ret i32 0
+  ret void
 }
 
 ; CHECK:        - Type:            EXPORT

Modified: lld/trunk/test/wasm/weak-alias-overide.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/weak-alias-overide.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/weak-alias-overide.ll (original)
+++ lld/trunk/test/wasm/weak-alias-overide.ll Thu Feb  1 16:30:03 2018
@@ -1,6 +1,6 @@
 ; RUN: llc -filetype=obj -o %t.o %s
 ; RUN: llc -filetype=obj %S/Inputs/weak-alias.ll -o %t2.o
-; RUN: lld -flavor wasm %t.o %t2.o -o %t.wasm
+; RUN: lld -flavor wasm --check-signatures %t.o %t2.o -o %t.wasm
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 ; Test that the strongly defined alias_fn from this file is used both here

Modified: lld/trunk/test/wasm/weak-alias.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/weak-alias.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/weak-alias.ll (original)
+++ lld/trunk/test/wasm/weak-alias.ll Thu Feb  1 16:30:03 2018
@@ -1,6 +1,6 @@
 ; RUN: llc -filetype=obj -o %t.o %s
 ; RUN: llc -filetype=obj %S/Inputs/weak-alias.ll -o %t2.o
-; RUN: lld -flavor wasm %t.o %t2.o -o %t.wasm
+; RUN: lld -flavor wasm --check-signatures %t.o %t2.o -o %t.wasm
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 ; Test that weak aliases (alias_fn is a weak alias of direct_fn) are linked correctly
@@ -10,10 +10,10 @@ target triple = "wasm32-unknown-unknown-
 declare i32 @alias_fn() local_unnamed_addr #1
 
 ; Function Attrs: nounwind uwtable
-define i32 @_start() local_unnamed_addr #1 {
+define void @_start() local_unnamed_addr #1 {
 entry:
   %call = tail call i32 @alias_fn() #2
-  ret i32 %call
+  ret void
 }
 
 ; CHECK:      --- !WASM
@@ -23,13 +23,13 @@ entry:
 ; CHECK-NEXT:   - Type:            TYPE
 ; CHECK-NEXT:     Signatures:
 ; CHECK-NEXT:       - Index:           0
-; CHECK-NEXT:         ReturnType:      I32
+; CHECK-NEXT:         ReturnType:      NORESULT
 ; CHECK-NEXT:         ParamTypes:
 ; CHECK-NEXT:       - Index:           1
-; CHECK-NEXT:         ReturnType:      NORESULT
+; CHECK-NEXT:         ReturnType:      I32
 ; CHECK-NEXT:         ParamTypes:
 ; CHECK-NEXT:   - Type:            FUNCTION
-; CHECK-NEXT:     FunctionTypes:   [ 0, 0, 0, 0, 0, 0, 1 ]
+; CHECK-NEXT:     FunctionTypes:   [ 0, 1, 1, 1, 1, 1, 0 ]
 ; CHECK-NEXT:   - Type:            TABLE
 ; CHECK-NEXT:     Tables:
 ; CHECK-NEXT:       - ElemType:        ANYFUNC
@@ -93,7 +93,7 @@ entry:
 ; CHECK-NEXT:     Functions:
 ; CHECK-NEXT:       - Index:           0
 ; CHECK-NEXT:         Locals:
-; CHECK-NEXT:         Body:            1081808080000B
+; CHECK-NEXT:         Body:            1081808080001A0B
 ; CHECK-NEXT:       - Index:           1
 ; CHECK-NEXT:         Locals:
 ; CHECK-NEXT:         Body:            41000B
@@ -138,7 +138,7 @@ entry:
 ; CHECK-NEXT:         Name:            __wasm_call_ctors
 ; CHECK-NEXT: ...
 
-; RUN: lld -flavor wasm --relocatable %t.o %t2.o -o %t.reloc.o
+; RUN: lld -flavor wasm --check-signatures --relocatable %t.o %t2.o -o %t.reloc.o
 ; RUN: obj2yaml %t.reloc.o | FileCheck %s -check-prefix=RELOC
 
 ; RELOC:      --- !WASM
@@ -148,6 +148,9 @@ entry:
 ; RELOC-NEXT:   - Type:            TYPE
 ; RELOC-NEXT:     Signatures:
 ; RELOC-NEXT:       - Index:           0
+; RELOC-NEXT:         ReturnType:      NORESULT
+; RELOC-NEXT:         ParamTypes:
+; RELOC-NEXT:       - Index:           1
 ; RELOC-NEXT:         ReturnType:      I32
 ; RELOC-NEXT:         ParamTypes:
 ; RELOC-NEXT:   - Type:            IMPORT
@@ -158,7 +161,7 @@ entry:
 ; RELOC-NEXT:         GlobalType:      I32
 ; RELOC-NEXT:         GlobalMutable:   false
 ; RELOC-NEXT:   - Type:            FUNCTION
-; RELOC-NEXT:     FunctionTypes:   [ 0, 0, 0, 0, 0, 0 ]
+; RELOC-NEXT:     FunctionTypes:   [ 0, 1, 1, 1, 1, 1 ]
 ; RELOC-NEXT:   - Type:            TABLE
 ; RELOC-NEXT:     Tables:
 ; RELOC-NEXT:       - ElemType:        ANYFUNC
@@ -205,44 +208,44 @@ entry:
 ; RELOC-NEXT:         Offset:          0x00000004
 ; RELOC-NEXT:       - Type:            R_WEBASSEMBLY_FUNCTION_INDEX_LEB
 ; RELOC-NEXT:         Index:           1
-; RELOC-NEXT:         Offset:          0x00000012
+; RELOC-NEXT:         Offset:          0x00000013
 ; RELOC-NEXT:       - Type:            R_WEBASSEMBLY_FUNCTION_INDEX_LEB
 ; RELOC-NEXT:         Index:           1
-; RELOC-NEXT:         Offset:          0x0000001B
+; RELOC-NEXT:         Offset:          0x0000001C
 ; RELOC-NEXT:       - Type:            R_WEBASSEMBLY_GLOBAL_INDEX_LEB
 ; RELOC-NEXT:         Index:           0
-; RELOC-NEXT:         Offset:          0x00000026
+; RELOC-NEXT:         Offset:          0x00000027
 ; RELOC-NEXT:       - Type:            R_WEBASSEMBLY_GLOBAL_INDEX_LEB
 ; RELOC-NEXT:         Index:           0
-; RELOC-NEXT:         Offset:          0x00000031
+; RELOC-NEXT:         Offset:          0x00000032
 ; RELOC-NEXT:       - Type:            R_WEBASSEMBLY_TABLE_INDEX_SLEB
 ; RELOC-NEXT:         Index:           1
-; RELOC-NEXT:         Offset:          0x00000039
+; RELOC-NEXT:         Offset:          0x0000003A
 ; RELOC-NEXT:       - Type:            R_WEBASSEMBLY_FUNCTION_INDEX_LEB
 ; RELOC-NEXT:         Index:           1
-; RELOC-NEXT:         Offset:          0x00000042
+; RELOC-NEXT:         Offset:          0x00000043
 ; RELOC-NEXT:       - Type:            R_WEBASSEMBLY_GLOBAL_INDEX_LEB
 ; RELOC-NEXT:         Index:           0
-; RELOC-NEXT:         Offset:          0x0000004F
+; RELOC-NEXT:         Offset:          0x00000050
 ; RELOC-NEXT:       - Type:            R_WEBASSEMBLY_GLOBAL_INDEX_LEB
 ; RELOC-NEXT:         Index:           0
-; RELOC-NEXT:         Offset:          0x0000005C
+; RELOC-NEXT:         Offset:          0x0000005D
 ; RELOC-NEXT:       - Type:            R_WEBASSEMBLY_GLOBAL_INDEX_LEB
 ; RELOC-NEXT:         Index:           0
-; RELOC-NEXT:         Offset:          0x00000067
+; RELOC-NEXT:         Offset:          0x00000068
 ; RELOC-NEXT:       - Type:            R_WEBASSEMBLY_TABLE_INDEX_SLEB
 ; RELOC-NEXT:         Index:           1
-; RELOC-NEXT:         Offset:          0x0000006F
+; RELOC-NEXT:         Offset:          0x00000070
 ; RELOC-NEXT:       - Type:            R_WEBASSEMBLY_FUNCTION_INDEX_LEB
 ; RELOC-NEXT:         Index:           1
-; RELOC-NEXT:         Offset:          0x00000078
+; RELOC-NEXT:         Offset:          0x00000079
 ; RELOC-NEXT:       - Type:            R_WEBASSEMBLY_GLOBAL_INDEX_LEB
 ; RELOC-NEXT:         Index:           0
-; RELOC-NEXT:         Offset:          0x00000085
+; RELOC-NEXT:         Offset:          0x00000086
 ; RELOC-NEXT:     Functions:
 ; RELOC-NEXT:       - Index:           0
 ; RELOC-NEXT:         Locals:
-; RELOC-NEXT:         Body:            1081808080000B
+; RELOC-NEXT:         Body:            1081808080001A0B
 ; RELOC-NEXT:       - Index:           1
 ; RELOC-NEXT:         Locals:
 ; RELOC-NEXT:         Body:            41000B

Modified: lld/trunk/test/wasm/weak-symbols.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/weak-symbols.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/weak-symbols.ll (original)
+++ lld/trunk/test/wasm/weak-symbols.ll Thu Feb  1 16:30:03 2018
@@ -1,7 +1,7 @@
 ; RUN: llc -filetype=obj %p/Inputs/weak-symbol1.ll -o %t1.o
 ; RUN: llc -filetype=obj %p/Inputs/weak-symbol2.ll -o %t2.o
 ; RUN: llc -filetype=obj %s -o %t.o
-; RUN: lld -flavor wasm -no-gc-sections -o %t.wasm %t.o %t1.o %t2.o
+; RUN: lld -flavor wasm -no-gc-sections --check-signatures -o %t.wasm %t.o %t1.o %t2.o
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 target triple = "wasm32-unknown-unknown-wasm"
@@ -9,11 +9,11 @@ target triple = "wasm32-unknown-unknown-
 declare i32 @weakFn() local_unnamed_addr
 @weakGlobal = external global i32
 
-define i32 @_start() local_unnamed_addr {
+define void @_start() local_unnamed_addr {
 entry:
   %call = call i32 @weakFn()
   %val = load i32, i32* @weakGlobal, align 4
-  ret i32 %val
+  ret void
 }
 
 ; CHECK:      --- !WASM
@@ -23,13 +23,13 @@ entry:
 ; CHECK-NEXT:   - Type:            TYPE
 ; CHECK-NEXT:     Signatures:
 ; CHECK-NEXT:       - Index:           0
-; CHECK-NEXT:         ReturnType:      I32
+; CHECK-NEXT:         ReturnType:      NORESULT
 ; CHECK-NEXT:         ParamTypes:
 ; CHECK-NEXT:       - Index:           1
-; CHECK-NEXT:         ReturnType:      NORESULT
+; CHECK-NEXT:         ReturnType:      I32
 ; CHECK-NEXT:         ParamTypes:
 ; CHECK-NEXT:   - Type:            FUNCTION
-; CHECK-NEXT:     FunctionTypes:   [ 0, 0, 0, 0, 0, 1 ]
+; CHECK-NEXT:     FunctionTypes:   [ 0, 1, 1, 1, 1, 0 ]
 ; CHECK-NEXT:   - Type:            TABLE
 ; CHECK-NEXT:     Tables:
 ; CHECK-NEXT:       - ElemType:        ANYFUNC
@@ -84,7 +84,7 @@ entry:
 ; CHECK-NEXT:     Functions:
 ; CHECK-NEXT:       - Index:           0
 ; CHECK-NEXT:         Locals:
-; CHECK-NEXT:         Body:            1081808080001A4100280280888080000B
+; CHECK-NEXT:         Body:            1081808080001A0B
 ; CHECK-NEXT:       - Index:           1
 ; CHECK-NEXT:         Locals:
 ; CHECK-NEXT:         Body:            41010B

Modified: lld/trunk/test/wasm/weak-undefined.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/weak-undefined.ll?rev=324042&r1=324041&r2=324042&view=diff
==============================================================================
--- lld/trunk/test/wasm/weak-undefined.ll (original)
+++ lld/trunk/test/wasm/weak-undefined.ll Thu Feb  1 16:30:03 2018
@@ -1,5 +1,5 @@
 ; RUN: llc -filetype=obj -o %t.o %s
-; RUN: lld -flavor wasm -strip-debug %t.o -o %t.wasm
+; RUN: lld -flavor wasm --check-signatures -strip-debug %t.o -o %t.wasm
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 ; Test that undefined weak externals (global_var) and (foo) don't cause
@@ -20,10 +20,10 @@ define i32* @get_address_of_global_var()
   ret i32* @global_var
 }
 
-define i32 @_start() #0 {
+define void @_start() #0 {
 entry:
-    %0 = load i32, i32* @global_var, align 4
-    ret i32 %0
+    %call = call i32* @get_address_of_global_var()
+    ret void
 }
 
 ; CHECK:      --- !WASM
@@ -39,7 +39,7 @@ entry:
 ; CHECK-NEXT:         ReturnType:      NORESULT
 ; CHECK-NEXT:         ParamTypes:
 ; CHECK-NEXT:   - Type:            FUNCTION
-; CHECK-NEXT:     FunctionTypes:   [ 0, 0, 0, 1 ]
+; CHECK-NEXT:     FunctionTypes:   [ 0, 0, 1, 1 ]
 ; CHECK-NEXT:   - Type:            TABLE
 ; CHECK-NEXT:     Tables:
 ; CHECK-NEXT:       - ElemType:        ANYFUNC
@@ -91,7 +91,7 @@ entry:
 ; CHECK-NEXT:         Body:            4180808080000B
 ; CHECK-NEXT:       - Index:           2
 ; CHECK-NEXT:         Locals:
-; CHECK-NEXT:         Body:            4100280280808080000B
+; CHECK-NEXT:         Body:            1081808080001A0B
 ; CHECK-NEXT:       - Index:           3
 ; CHECK-NEXT:         Locals:
 ; CHECK-NEXT:         Body:            0B




More information about the llvm-commits mailing list