[lld] r321308 - [WebAssembly] Add extra test for weak global symbols
Sam Clegg via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 21 13:15:01 PST 2017
Author: sbc
Date: Thu Dec 21 13:15:00 2017
New Revision: 321308
URL: http://llvm.org/viewvc/llvm-project?rev=321308&view=rev
Log:
[WebAssembly] Add extra test for weak global symbols
Summary:
Currently the test only checks behaviour for weak function symbols.
Should be good to merge straight away?
Reviewers: sbc100
Reviewed By: sbc100
Subscribers: jfb, dschuff, jgravelle-google, aheejin, sunfish, llvm-commits
Differential Revision: https://reviews.llvm.org/D41449
Modified:
lld/trunk/test/wasm/Inputs/weak-symbol1.ll
lld/trunk/test/wasm/Inputs/weak-symbol2.ll
lld/trunk/test/wasm/weak-symbols.ll
Modified: lld/trunk/test/wasm/Inputs/weak-symbol1.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/Inputs/weak-symbol1.ll?rev=321308&r1=321307&r2=321308&view=diff
==============================================================================
--- lld/trunk/test/wasm/Inputs/weak-symbol1.ll (original)
+++ lld/trunk/test/wasm/Inputs/weak-symbol1.ll Thu Dec 21 13:15:00 2017
@@ -7,3 +7,5 @@ define i32 @exportWeak1() {
entry:
ret i32 ptrtoint (i32 ()* @weakFn to i32)
}
+
+ at weakGlobal = weak global i32 1
Modified: lld/trunk/test/wasm/Inputs/weak-symbol2.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/Inputs/weak-symbol2.ll?rev=321308&r1=321307&r2=321308&view=diff
==============================================================================
--- lld/trunk/test/wasm/Inputs/weak-symbol2.ll (original)
+++ lld/trunk/test/wasm/Inputs/weak-symbol2.ll Thu Dec 21 13:15:00 2017
@@ -7,3 +7,5 @@ define i32 @exportWeak2() {
entry:
ret i32 ptrtoint (i32 ()* @weakFn to i32)
}
+
+ at weakGlobal = weak global i32 2
Modified: lld/trunk/test/wasm/weak-symbols.ll
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/weak-symbols.ll?rev=321308&r1=321307&r2=321308&view=diff
==============================================================================
--- lld/trunk/test/wasm/weak-symbols.ll (original)
+++ lld/trunk/test/wasm/weak-symbols.ll Thu Dec 21 13:15:00 2017
@@ -5,11 +5,13 @@
; RUN: obj2yaml %t.wasm | FileCheck %s
declare i32 @weakFn() local_unnamed_addr
+ at weakGlobal = external global i32
-define void @_start() local_unnamed_addr {
+define i32 @_start() local_unnamed_addr {
entry:
%call = call i32 @weakFn()
- ret void
+ %val = load i32, i32* @weakGlobal, align 4
+ ret i32 %val
}
; CHECK: --- !WASM
@@ -19,13 +21,10 @@ entry:
; CHECK-NEXT: - Type: TYPE
; CHECK-NEXT: Signatures:
; CHECK-NEXT: - Index: 0
-; CHECK-NEXT: ReturnType: NORESULT
-; CHECK-NEXT: ParamTypes:
-; CHECK-NEXT: - Index: 1
; CHECK-NEXT: ReturnType: I32
; CHECK-NEXT: ParamTypes:
; CHECK-NEXT: - Type: FUNCTION
-; CHECK-NEXT: FunctionTypes: [ 0, 1, 1, 1, 1 ]
+; CHECK-NEXT: FunctionTypes: [ 0, 0, 0, 0, 0 ]
; CHECK-NEXT: - Type: TABLE
; CHECK-NEXT: Tables:
; CHECK-NEXT: - ElemType: ANYFUNC
@@ -42,7 +41,7 @@ entry:
; CHECK-NEXT: Mutable: true
; CHECK-NEXT: InitExpr:
; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 66560
+; CHECK-NEXT: Value: 66576
; CHECK-NEXT: - Type: EXPORT
; CHECK-NEXT: Exports:
; CHECK-NEXT: - Name: memory
@@ -69,7 +68,7 @@ entry:
; CHECK-NEXT: - Type: CODE
; CHECK-NEXT: Functions:
; CHECK-NEXT: - Locals:
-; CHECK-NEXT: Body: 1081808080001A0B
+; CHECK-NEXT: Body: 1081808080001A4100280280888080000B
; CHECK-NEXT: - Locals:
; CHECK-NEXT: Body: 41010B
; CHECK-NEXT: - Locals:
@@ -78,9 +77,17 @@ entry:
; CHECK-NEXT: Body: 41020B
; CHECK-NEXT: - Locals:
; CHECK-NEXT: Body: 4181808080000B
+; CHECK-NEXT: - Type: DATA
+; CHECK-NEXT: Segments:
+; CHECK-NEXT: - SectionOffset: 7
+; CHECK-NEXT: MemoryIndex: 0
+; CHECK-NEXT: Offset:
+; CHECK-NEXT: Opcode: I32_CONST
+; CHECK-NEXT: Value: 1024
+; CHECK-NEXT: Content: '0100000002000000'
; CHECK-NEXT: - Type: CUSTOM
; CHECK-NEXT: Name: linking
-; CHECK-NEXT: DataSize: 0
+; CHECK-NEXT: DataSize: 8
; CHECK-NEXT: - Type: CUSTOM
; CHECK-NEXT: Name: name
; CHECK-NEXT: FunctionNames:
More information about the llvm-commits
mailing list