blob: 694f37d0821bfbc8831e8a78a8cec6344fdbe1b2 [file] [log] [blame]
Sam Clegg408064e2018-01-12 17:56:15 +00001; RUN: llc -mtriple=wasm32-unknown-unknown-wasm -filetype=obj -o %t.o %s
2; RUN: lld -flavor wasm %t.o -o %t.wasm
3; RUN: obj2yaml %t.wasm | FileCheck %s
4
5@start_alias = alias i32 (), i32 ()* @_start
6
7; Function Attrs: nounwind uwtable
8define i32 @_start() local_unnamed_addr #1 {
9entry:
10 ret i32 0
11}
12
13; CHECK: --- !WASM
14; CHECK-NEXT: FileHeader:
15; CHECK-NEXT: Version: 0x00000001
16; CHECK-NEXT: Sections:
17; CHECK-NEXT: - Type: TYPE
18; CHECK-NEXT: Signatures:
19; CHECK-NEXT: - Index: 0
20; CHECK-NEXT: ReturnType: I32
21; CHECK-NEXT: ParamTypes:
Sam Clegg50686852018-01-12 18:35:13 +000022; CHECK-NEXT: - Index: 1
23; CHECK-NEXT: ReturnType: NORESULT
24; CHECK-NEXT: ParamTypes:
Sam Clegg408064e2018-01-12 17:56:15 +000025; CHECK-NEXT: - Type: FUNCTION
Sam Clegg50686852018-01-12 18:35:13 +000026; CHECK-NEXT: FunctionTypes: [ 0, 1 ]
Sam Clegg408064e2018-01-12 17:56:15 +000027; CHECK-NEXT: - Type: TABLE
28; CHECK-NEXT: Tables:
29; CHECK-NEXT: - ElemType: ANYFUNC
30; CHECK-NEXT: Limits:
31; CHECK-NEXT: Flags: [ HAS_MAX ]
32; CHECK-NEXT: Initial: 0x00000001
33; CHECK-NEXT: Maximum: 0x00000001
34; CHECK-NEXT: - Type: MEMORY
35; CHECK-NEXT: Memories:
36; CHECK-NEXT: - Initial: 0x00000002
37; CHECK-NEXT: - Type: GLOBAL
38; CHECK-NEXT: Globals:
39; CHECK-NEXT: - Index: 0
40; CHECK-NEXT: Type: I32
41; CHECK-NEXT: Mutable: true
42; CHECK-NEXT: InitExpr:
43; CHECK-NEXT: Opcode: I32_CONST
44; CHECK-NEXT: Value: 66560
Sam Clegg51bcdc22018-01-17 01:34:31 +000045; CHECK-NEXT: - Index: 1
46; CHECK-NEXT: Type: I32
47; CHECK-NEXT: Mutable: false
48; CHECK-NEXT: InitExpr:
49; CHECK-NEXT: Opcode: I32_CONST
50; CHECK-NEXT: Value: 66560
Sam Clegg408064e2018-01-12 17:56:15 +000051; CHECK-NEXT: - Type: EXPORT
52; CHECK-NEXT: Exports:
53; CHECK-NEXT: - Name: memory
54; CHECK-NEXT: Kind: MEMORY
55; CHECK-NEXT: Index: 0
Sam Clegg0f0a4282018-01-20 01:44:45 +000056; CHECK-NEXT: - Name: start_alias
Sam Clegg408064e2018-01-12 17:56:15 +000057; CHECK-NEXT: Kind: FUNCTION
58; CHECK-NEXT: Index: 0
Sam Clegg0f0a4282018-01-20 01:44:45 +000059; CHECK-NEXT: - Name: _start
Sam Clegg408064e2018-01-12 17:56:15 +000060; CHECK-NEXT: Kind: FUNCTION
61; CHECK-NEXT: Index: 0
Sam Clegg51bcdc22018-01-17 01:34:31 +000062; CHECK-NEXT: - Name: __heap_base
63; CHECK-NEXT: Kind: GLOBAL
64; CHECK-NEXT: Index: 1
Sam Clegg408064e2018-01-12 17:56:15 +000065; CHECK-NEXT: - Type: CODE
66; CHECK-NEXT: Functions:
67; CHECK-NEXT: - Index: 0
68; CHECK-NEXT: Locals:
69; CHECK-NEXT: Body: 41000B
Sam Clegg50686852018-01-12 18:35:13 +000070; CHECK-NEXT: - Index: 1
71; CHECK-NEXT: Locals:
72; CHECK-NEXT: Body: 0B
Sam Clegg408064e2018-01-12 17:56:15 +000073; CHECK-NEXT: - Type: CUSTOM
74; CHECK-NEXT: Name: linking
75; CHECK-NEXT: DataSize: 0
76; CHECK-NEXT: - Type: CUSTOM
77; CHECK-NEXT: Name: name
78; CHECK-NEXT: FunctionNames:
79; CHECK-NEXT: - Index: 0
Sam Clegg1963d712018-01-17 20:19:04 +000080; CHECK-NEXT: Name: _start
Sam Clegg50686852018-01-12 18:35:13 +000081; CHECK-NEXT: - Index: 1
82; CHECK-NEXT: Name: __wasm_call_ctors
Sam Clegg408064e2018-01-12 17:56:15 +000083; CHECK-NEXT: ...