]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/wasm/entry.ll
Vendor import of lld trunk r338150:
[FreeBSD/FreeBSD.git] / test / wasm / entry.ll
1 ; RUN: llc -filetype=obj %s -o %t.o
2
3 target triple = "wasm32-unknown-unknown"
4
5 define hidden void @entry() local_unnamed_addr #0 {
6 entry:
7   ret void
8 }
9
10 ; RUN: wasm-ld -e entry -o %t1.wasm %t.o
11 ; RUN: obj2yaml %t1.wasm | FileCheck %s
12 ; RUN: wasm-ld --entry=entry -o %t2.wasm %t.o
13 ; RUN: obj2yaml %t2.wasm | FileCheck %s
14
15 ; CHECK:        - Type:            EXPORT
16 ; CHECK-NEXT:     Exports:
17 ; CHECK-NEXT:       - Name:            memory
18 ; CHECK-NEXT:         Kind:            MEMORY
19 ; CHECK-NEXT:         Index:           0
20 ; CHECK-NEXT:       - Name:            __heap_base
21 ; CHECK-NEXT:         Kind:            GLOBAL
22 ; CHECK-NEXT:         Index:           1
23 ; CHECK-NEXT:       - Name:            __data_end
24 ; CHECK-NEXT:         Kind:            GLOBAL
25 ; CHECK-NEXT:         Index:           2
26 ; CHECK-NEXT:       - Name:            entry
27 ; CHECK-NEXT:         Kind:            FUNCTION
28 ; CHECK-NEXT:         Index:           1
29 ; CHECK-NEXT:   - Type:
30
31 ; The __wasm_call_ctors is somewhat special since its created by the linker.
32 ; Make sure we can use it as the entry point if we choose
33 ; RUN: wasm-ld --entry=__wasm_call_ctors -o %t3.wasm %t.o
34 ; RUN: obj2yaml %t3.wasm | FileCheck %s -check-prefix=CHECK-CTOR
35
36 ; CHECK-CTOR:        - Type:            EXPORT
37 ; CHECK-CTOR-NEXT:     Exports:
38 ; CHECK-CTOR-NEXT:       - Name:            memory
39 ; CHECK-CTOR-NEXT:         Kind:            MEMORY
40 ; CHECK-CTOR-NEXT:         Index:           0
41 ; CHECK-CTOR-NEXT:       - Name:            __wasm_call_ctors
42 ; CHECK-CTOR-NEXT:         Kind:            FUNCTION
43 ; CHECK-CTOR-NEXT:         Index:           0
44 ; CHECK-CTOR-NEXT:       - Name:            __heap_base
45 ; CHECK-CTOR-NEXT:         Kind:            GLOBAL
46 ; CHECK-CTOR-NEXT:         Index:           1
47 ; CHECK-CTOR-NEXT:       - Name:            __data_end
48 ; CHECK-CTOR-NEXT:         Kind:            GLOBAL
49 ; CHECK-CTOR-NEXT:         Index:           2
50 ; CHECK-CTOR-NEXT:   - Type: