[lld] dc1a08c - [lld][WebAssembly] Rewrite exports test in assembly. NFC
Sam Clegg via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 5 11:14:21 PDT 2021
Author: Sam Clegg
Date: 2021-04-05T11:14:12-07:00
New Revision: dc1a08caeff415712ff8299b21a4c26fced777db
URL: https://github.com/llvm/llvm-project/commit/dc1a08caeff415712ff8299b21a4c26fced777db
DIFF: https://github.com/llvm/llvm-project/commit/dc1a08caeff415712ff8299b21a4c26fced777db.diff
LOG: [lld][WebAssembly] Rewrite exports test in assembly. NFC
Differential Revision: https://reviews.llvm.org/D99885
Added:
lld/test/wasm/export.s
Modified:
Removed:
lld/test/wasm/export.ll
################################################################################
diff --git a/lld/test/wasm/export.ll b/lld/test/wasm/export.ll
deleted file mode 100644
index 18ff1c437e4d5..0000000000000
--- a/lld/test/wasm/export.ll
+++ /dev/null
@@ -1,59 +0,0 @@
-; Test in default mode
-; RUN: llc -filetype=obj %s -o %t.o
-; RUN: not wasm-ld --export=missing -o %t.wasm %t.o 2>&1 | FileCheck -check-prefix=CHECK-ERROR %s
-; RUN: wasm-ld --export=hidden_function -o %t.wasm %t.o
-; RUN: obj2yaml %t.wasm | FileCheck %s
-
-; Now test in Emscripten mode
-; RUN: llc -filetype=obj %s -o %t.o -mtriple=wasm32-unknown-emscripten
-; RUN: not wasm-ld --export=missing -o %t.wasm %t.o 2>&1 | FileCheck -check-prefix=CHECK-ERROR %s
-; RUN: wasm-ld --export=hidden_function -o %t.wasm %t.o
-; RUN: obj2yaml %t.wasm | FileCheck %s --check-prefixes=CHECK,EMSCRIPTEN
-
-target triple = "wasm32-unknown-unknown"
-
- at llvm.used = appending global [1 x i8*] [i8* bitcast (i32 ()* @used_function to i8*)], section "llvm.metadata"
-
-; Not exported by default, but forced via commandline
-define hidden i32 @hidden_function() local_unnamed_addr {
-entry:
- ret i32 0
-}
-
-; Not exported by default
-define i32 @default_function() local_unnamed_addr {
-entry:
- ret i32 0
-}
-
-; Exported because its part of llvm.used
-define i32 @used_function() local_unnamed_addr {
-entry:
- ret i32 0
-}
-
-; Exported by default
-define void @_start() local_unnamed_addr {
-entry:
- ret void
-}
-
-; CHECK-ERROR: error: symbol exported via --export not found: missing
-
-; CHECK-NOT: - Name: default_function
-
-; CHECK: - Type: EXPORT
-; CHECK-NEXT: Exports:
-; CHECK-NEXT: - Name: memory
-; CHECK-NEXT: Kind: MEMORY
-; CHECK-NEXT: Index: 0
-; CHECK-NEXT: - Name: hidden_function
-; CHECK-NEXT: Kind: FUNCTION
-; CHECK-NEXT: Index: 0
-; EMSCRIPTEN-NEXT: - Name: used_function
-; EMSCRIPTEN-NEXT: Kind: FUNCTION
-; EMSCRIPTEN-NEXT: Index: 1
-; CHECK-NEXT: - Name: _start
-; CHECK-NEXT: Kind: FUNCTION
-; CHECK-NEXT: Index: 2
-; CHECK-NEXT: - Type: CODE
diff --git a/lld/test/wasm/export.s b/lld/test/wasm/export.s
new file mode 100644
index 0000000000000..c1662985b97a2
--- /dev/null
+++ b/lld/test/wasm/export.s
@@ -0,0 +1,60 @@
+# Test in default mode
+# RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown -o %t.o %s
+# RUN: not wasm-ld --export=missing -o %t.wasm %t.o 2>&1 | FileCheck -check-prefix=CHECK-ERROR %s
+# RUN: wasm-ld --export=hidden_function -o %t.wasm %t.o
+# RUN: obj2yaml %t.wasm | FileCheck %s
+
+# Now test in Emscripten mode
+# RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-emscripten -o %t.o %s
+# RUN: not wasm-ld --export=missing -o %t.wasm %t.o 2>&1 | FileCheck -check-prefix=CHECK-ERROR %s
+# RUN: wasm-ld --export=hidden_function -o %t.wasm %t.o
+# RUN: obj2yaml %t.wasm | FileCheck %s --check-prefixes=CHECK,EMSCRIPTEN
+
+# Not exported by default, but forced via commandline
+ .hidden hidden_function
+ .globl hidden_function
+hidden_function:
+ .functype hidden_function () -> (i32)
+ i32.const 0
+ end_function
+
+# Not exported by default
+ .globl default_function
+default_function:
+ .functype default_function () -> (i32)
+ i32.const 0
+ end_function
+
+# Exported in emscripten mode which treats .no_dead_strip as a signal to export
+ .no_dead_strip used_function
+ .globl used_function
+used_function:
+ .functype used_function () -> (i32)
+ i32.const 0
+ end_function
+
+# Exported by default
+.globl _start
+_start:
+ .functype _start () -> ()
+ end_function
+
+# CHECK-ERROR: error: symbol exported via --export not found: missing
+
+# CHECK-NOT: - Name: default_function
+
+# CHECK: - Type: EXPORT
+# CHECK-NEXT: Exports:
+# CHECK-NEXT: - Name: memory
+# CHECK-NEXT: Kind: MEMORY
+# CHECK-NEXT: Index: 0
+# CHECK-NEXT: - Name: hidden_function
+# CHECK-NEXT: Kind: FUNCTION
+# CHECK-NEXT: Index: 0
+# EMSCRIPTEN-NEXT: - Name: used_function
+# EMSCRIPTEN-NEXT: Kind: FUNCTION
+# EMSCRIPTEN-NEXT: Index: 1
+# CHECK-NEXT: - Name: _start
+# CHECK-NEXT: Kind: FUNCTION
+# CHECK-NEXT: Index: 2
+# CHECK-NEXT: - Type: CODE
More information about the llvm-commits
mailing list