diff options
Diffstat (limited to 'test/wasm/entry.ll')
| -rw-r--r-- | test/wasm/entry.ll | 59 |
1 files changed, 45 insertions, 14 deletions
diff --git a/test/wasm/entry.ll b/test/wasm/entry.ll index 4749d83066519..30fff9a2bdcb2 100644 --- a/test/wasm/entry.ll +++ b/test/wasm/entry.ll @@ -1,19 +1,50 @@ -; RUN: llc -filetype=obj -mtriple=wasm32-unknown-unknown-wasm %s -o %t.o -; RUN: lld -flavor wasm -e entry -o %t.wasm %t.o -; RUN: obj2yaml %t.wasm | FileCheck %s -; RUN: lld -flavor wasm --entry=entry -o %t.wasm %t.o -; RUN: obj2yaml %t.wasm | FileCheck %s +; RUN: llc -filetype=obj %s -o %t.o -define void @entry() local_unnamed_addr #0 { +target triple = "wasm32-unknown-unknown" + +define hidden void @entry() local_unnamed_addr #0 { entry: ret void } -; CHECK: - Type: EXPORT -; CHECK: Exports: -; CHECK: - Name: memory -; CHECK: Kind: MEMORY -; CHECK: Index: 0 -; CHECK: - Name: entry -; CHECK: Kind: FUNCTION -; CHECK: Index: 0 +; RUN: wasm-ld -e entry -o %t1.wasm %t.o +; RUN: obj2yaml %t1.wasm | FileCheck %s +; RUN: wasm-ld --entry=entry -o %t2.wasm %t.o +; RUN: obj2yaml %t2.wasm | FileCheck %s + +; CHECK: - Type: EXPORT +; CHECK-NEXT: Exports: +; CHECK-NEXT: - Name: memory +; CHECK-NEXT: Kind: MEMORY +; CHECK-NEXT: Index: 0 +; CHECK-NEXT: - Name: __heap_base +; CHECK-NEXT: Kind: GLOBAL +; CHECK-NEXT: Index: 1 +; CHECK-NEXT: - Name: __data_end +; CHECK-NEXT: Kind: GLOBAL +; CHECK-NEXT: Index: 2 +; CHECK-NEXT: - Name: entry +; CHECK-NEXT: Kind: FUNCTION +; CHECK-NEXT: Index: 1 +; CHECK-NEXT: - Type: + +; The __wasm_call_ctors is somewhat special since its created by the linker. +; Make sure we can use it as the entry point if we choose +; RUN: wasm-ld --entry=__wasm_call_ctors -o %t3.wasm %t.o +; RUN: obj2yaml %t3.wasm | FileCheck %s -check-prefix=CHECK-CTOR + +; CHECK-CTOR: - Type: EXPORT +; CHECK-CTOR-NEXT: Exports: +; CHECK-CTOR-NEXT: - Name: memory +; CHECK-CTOR-NEXT: Kind: MEMORY +; CHECK-CTOR-NEXT: Index: 0 +; CHECK-CTOR-NEXT: - Name: __wasm_call_ctors +; CHECK-CTOR-NEXT: Kind: FUNCTION +; CHECK-CTOR-NEXT: Index: 0 +; CHECK-CTOR-NEXT: - Name: __heap_base +; CHECK-CTOR-NEXT: Kind: GLOBAL +; CHECK-CTOR-NEXT: Index: 1 +; CHECK-CTOR-NEXT: - Name: __data_end +; CHECK-CTOR-NEXT: Kind: GLOBAL +; CHECK-CTOR-NEXT: Index: 2 +; CHECK-CTOR-NEXT: - Type: |
