]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/wasm/local-symbols.ll
Vendor import of lld trunk r321414:
[FreeBSD/FreeBSD.git] / test / wasm / local-symbols.ll
1 ; RUN: llc -filetype=obj -mtriple=wasm32-unknown-unknown-wasm %s -o %t.o
2 ; RUN: lld -flavor wasm -o %t.wasm %t.o
3 ; RUN: obj2yaml %t.wasm | FileCheck %s
4
5 @foo = default global i32 1, align 4
6 @bar = internal default global i32 3, align 4
7
8 define internal i32 @baz() local_unnamed_addr {
9 entry:
10   ret i32 2
11 }
12
13 define i32 @_start() local_unnamed_addr {
14 entry:
15   ret i32 1
16 }
17
18 ; CHECK:      --- !WASM
19 ; CHECK-NEXT: FileHeader:
20 ; CHECK-NEXT:   Version:         0x00000001
21 ; CHECK-NEXT: Sections:
22 ; CHECK-NEXT:   - Type:            TYPE
23 ; CHECK-NEXT:     Signatures:
24 ; CHECK-NEXT:       - Index:           0
25 ; CHECK-NEXT:         ReturnType:      I32
26 ; CHECK-NEXT:         ParamTypes:
27 ; CHECK-NEXT:   - Type:            FUNCTION
28 ; CHECK-NEXT:     FunctionTypes:   [ 0, 0 ]
29 ; CHECK-NEXT:   - Type:            TABLE
30 ; CHECK-NEXT:     Tables:
31 ; CHECK-NEXT:       - ElemType:        ANYFUNC
32 ; CHECK-NEXT:         Limits:
33 ; CHECK-NEXT:           Flags:           [ HAS_MAX ]
34 ; CHECK-NEXT:           Initial:         0x00000001
35 ; CHECK-NEXT:           Maximum:         0x00000001
36 ; CHECK-NEXT:   - Type:            MEMORY
37 ; CHECK-NEXT:     Memories:
38 ; CHECK-NEXT:       - Initial:         0x00000002
39 ; CHECK-NEXT:   - Type:            GLOBAL
40 ; CHECK-NEXT:     Globals:
41 ; CHECK-NEXT:       - Type:            I32
42 ; CHECK-NEXT:         Mutable:         true
43 ; CHECK-NEXT:         InitExpr:
44 ; CHECK-NEXT:           Opcode:          I32_CONST
45 ; CHECK-NEXT:           Value:           66576
46 ; CHECK-NEXT:   - Type:            EXPORT
47 ; CHECK-NEXT:     Exports:
48 ; CHECK-NEXT:       - Name:            memory
49 ; CHECK-NEXT:         Kind:            MEMORY
50 ; CHECK-NEXT:         Index:           0
51 ; CHECK-NEXT:       - Name:            _start
52 ; CHECK-NEXT:         Kind:            FUNCTION
53 ; CHECK-NEXT:         Index:           1
54 ; CHECK-NEXT:   - Type:            CODE
55 ; CHECK-NEXT:     Functions:
56 ; CHECK-NEXT:       - Locals:
57 ; CHECK-NEXT:         Body:            41020B
58 ; CHECK-NEXT:       - Locals:
59 ; CHECK-NEXT:         Body:            41010B
60 ; CHECK-NEXT:   - Type:            DATA
61 ; CHECK-NEXT:     Segments:
62 ; CHECK-NEXT:       - SectionOffset:   7
63 ; CHECK-NEXT:         MemoryIndex:     0
64 ; CHECK-NEXT:         Offset:
65 ; CHECK-NEXT:           Opcode:          I32_CONST
66 ; CHECK-NEXT:           Value:           1024
67 ; CHECK-NEXT:         Content:         '0100000003000000'
68 ; CHECK-NEXT:   - Type:            CUSTOM
69 ; CHECK-NEXT:     Name:            linking
70 ; CHECK-NEXT:     DataSize:        8
71 ; CHECK-NEXT:   - Type:            CUSTOM
72 ; CHECK-NEXT:     Name:            name
73 ; CHECK-NEXT:     FunctionNames:
74 ; CHECK-NEXT:       - Index:           0
75 ; CHECK-NEXT:         Name:            baz
76 ; CHECK-NEXT:       - Index:           1
77 ; CHECK-NEXT:         Name:            _start
78 ; CHECK-NEXT: ...