blob: 108dec32197818f27c3a2be09309e321145cedf5 [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
Rui Ueyamab9b1a522018-01-24 00:22:53 +000014; CHECK-NEXT: FileHeader:
Sam Clegg408064e2018-01-12 17:56:15 +000015; CHECK-NEXT: Version: 0x00000001
Rui Ueyamab9b1a522018-01-24 00:22:53 +000016; CHECK-NEXT: Sections:
Sam Clegg408064e2018-01-12 17:56:15 +000017; CHECK-NEXT: - Type: TYPE
Rui Ueyamab9b1a522018-01-24 00:22:53 +000018; CHECK-NEXT: Signatures:
Sam Clegg408064e2018-01-12 17:56:15 +000019; CHECK-NEXT: - Index: 0
20; CHECK-NEXT: ReturnType: I32
Rui Ueyamab9b1a522018-01-24 00:22:53 +000021; 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
Rui Ueyamab9b1a522018-01-24 00:22:53 +000028; CHECK-NEXT: Tables:
Sam Clegg408064e2018-01-12 17:56:15 +000029; CHECK-NEXT: - ElemType: ANYFUNC
Rui Ueyamab9b1a522018-01-24 00:22:53 +000030; CHECK-NEXT: Limits:
Sam Clegg408064e2018-01-12 17:56:15 +000031; CHECK-NEXT: Flags: [ HAS_MAX ]
32; CHECK-NEXT: Initial: 0x00000001
33; CHECK-NEXT: Maximum: 0x00000001
34; CHECK-NEXT: - Type: MEMORY
Rui Ueyamab9b1a522018-01-24 00:22:53 +000035; CHECK-NEXT: Memories:
Sam Clegg408064e2018-01-12 17:56:15 +000036; CHECK-NEXT: - Initial: 0x00000002
37; CHECK-NEXT: - Type: GLOBAL
Rui Ueyamab9b1a522018-01-24 00:22:53 +000038; CHECK-NEXT: Globals:
Sam Clegg408064e2018-01-12 17:56:15 +000039; CHECK-NEXT: - Index: 0
40; CHECK-NEXT: Type: I32
41; CHECK-NEXT: Mutable: true
Rui Ueyamab9b1a522018-01-24 00:22:53 +000042; CHECK-NEXT: InitExpr:
Sam Clegg408064e2018-01-12 17:56:15 +000043; 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
Rui Ueyamab9b1a522018-01-24 00:22:53 +000048; CHECK-NEXT: InitExpr:
Sam Clegg51bcdc22018-01-17 01:34:31 +000049; CHECK-NEXT: Opcode: I32_CONST
50; CHECK-NEXT: Value: 66560
Sam Clegg408064e2018-01-12 17:56:15 +000051; CHECK-NEXT: - Type: EXPORT
Rui Ueyamab9b1a522018-01-24 00:22:53 +000052; CHECK-NEXT: Exports:
Sam Clegg408064e2018-01-12 17:56:15 +000053; 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
Rui Ueyamab9b1a522018-01-24 00:22:53 +000066; CHECK-NEXT: Functions:
Sam Clegg408064e2018-01-12 17:56:15 +000067; CHECK-NEXT: - Index: 0
Rui Ueyamab9b1a522018-01-24 00:22:53 +000068; CHECK-NEXT: Locals:
Sam Clegg408064e2018-01-12 17:56:15 +000069; CHECK-NEXT: Body: 41000B
Sam Clegg50686852018-01-12 18:35:13 +000070; CHECK-NEXT: - Index: 1
Rui Ueyamab9b1a522018-01-24 00:22:53 +000071; CHECK-NEXT: Locals:
Sam Clegg50686852018-01-12 18:35:13 +000072; 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
Rui Ueyamab9b1a522018-01-24 00:22:53 +000078; CHECK-NEXT: FunctionNames:
Sam Clegg408064e2018-01-12 17:56:15 +000079; 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: ...