blob: 1fdec48541aa78eaa685ffe7e466f6ed687b55b5 [file] [log] [blame]
Sam Cleggbd0416d2017-12-19 00:18:16 +00001; RUN: llc -filetype=obj -mtriple=wasm32-unknown-unknown-wasm %p/Inputs/hello.ll -o %t.hello.o
2; RUN: llc -filetype=obj -mtriple=wasm32-unknown-unknown-wasm %s -o %t.o
Sam Clegg2c096ba2017-12-08 17:58:25 +00003; RUN: lld -flavor wasm --emit-relocs --allow-undefined --no-entry -o %t.wasm %t.o %t.hello.o
Sam Cleggc94d3932017-11-17 18:14:09 +00004; RUN: obj2yaml %t.wasm | FileCheck %s
5
Sam Cleggc94d3932017-11-17 18:14:09 +00006@foo = hidden global i32 1, align 4
7@aligned_bar = hidden global i32 3, align 16
8
9@hello_str = external global i8*
10@external_ref = global i8** @hello_str, align 8
11
12; CHECK: - Type: GLOBAL
13; CHECK-NEXT: Globals:
Sam Cleggf50534b2018-01-09 21:47:36 +000014; CHECK-NEXT: - Index: 0
15; CHECK-NEXT: Type: I32
Sam Cleggc94d3932017-11-17 18:14:09 +000016; CHECK-NEXT: Mutable: true
Rui Ueyama1ce416c2017-12-12 20:00:30 +000017; CHECK-NEXT: InitExpr:
Sam Cleggc94d3932017-11-17 18:14:09 +000018; CHECK-NEXT: Opcode: I32_CONST
19; CHECK-NEXT: Value: 66608
Sam Cleggf50534b2018-01-09 21:47:36 +000020; CHECK-NEXT: - Index: 1
21; CHECK-NEXT: Type: I32
Sam Cleggc94d3932017-11-17 18:14:09 +000022; CHECK-NEXT: Mutable: false
23; CHECK-NEXT: InitExpr:
24; CHECK-NEXT: Opcode: I32_CONST
Sam Clegg51bcdc22018-01-17 01:34:31 +000025; CHECK-NEXT: Value: 66608
Sam Cleggf50534b2018-01-09 21:47:36 +000026; CHECK-NEXT: - Index: 2
27; CHECK-NEXT: Type: I32
Sam Cleggc94d3932017-11-17 18:14:09 +000028; CHECK-NEXT: Mutable: false
29; CHECK-NEXT: InitExpr:
30; CHECK-NEXT: Opcode: I32_CONST
Sam Clegg51bcdc22018-01-17 01:34:31 +000031; CHECK-NEXT: Value: 1024
Sam Cleggf50534b2018-01-09 21:47:36 +000032; CHECK-NEXT: - Index: 3
33; CHECK-NEXT: Type: I32
Sam Cleggc94d3932017-11-17 18:14:09 +000034; CHECK-NEXT: Mutable: false
35; CHECK-NEXT: InitExpr:
36; CHECK-NEXT: Opcode: I32_CONST
Sam Clegg51bcdc22018-01-17 01:34:31 +000037; CHECK-NEXT: Value: 1040
Sam Cleggf50534b2018-01-09 21:47:36 +000038; CHECK-NEXT: - Index: 4
39; CHECK-NEXT: Type: I32
Sam Clegg3f1fb882017-12-11 21:52:21 +000040; CHECK-NEXT: Mutable: false
41; CHECK-NEXT: InitExpr:
42; CHECK-NEXT: Opcode: I32_CONST
Sam Clegg51bcdc22018-01-17 01:34:31 +000043; CHECK-NEXT: Value: 1048
44; CHECK-NEXT: - Index: 5
45; CHECK-NEXT: Type: I32
46; CHECK-NEXT: Mutable: false
47; CHECK-NEXT: InitExpr:
48; CHECK-NEXT: Opcode: I32_CONST
Sam Clegg3f1fb882017-12-11 21:52:21 +000049; CHECK-NEXT: Value: 1052
Sam Cleggc94d3932017-11-17 18:14:09 +000050
51; CHECK: - Type: DATA
52; CHECK-NEXT: Relocations:
53; CHECK-NEXT: - Type: R_WEBASSEMBLY_MEMORY_ADDR_I32
Sam Clegg51bcdc22018-01-17 01:34:31 +000054; CHECK-NEXT: Index: 5
Sam Cleggc94d3932017-11-17 18:14:09 +000055; CHECK-NEXT: Offset: 0x0000001F
56; CHECK-NEXT: Segments:
57; CHECK-NEXT: - SectionOffset: 7
58; CHECK-NEXT: MemoryIndex: 0
59; CHECK-NEXT: Offset:
60; CHECK-NEXT: Opcode: I32_CONST
61; CHECK-NEXT: Value: 1024
62; CHECK-NEXT: Content: 0100000000000000000000000000000003000000000000001C040000
63; CHECK-NEXT: - SectionOffset: 41
64; CHECK-NEXT: MemoryIndex: 0
65; CHECK-NEXT: Offset:
66; CHECK-NEXT: Opcode: I32_CONST
67; CHECK-NEXT: Value: 1052
68; CHECK-NEXT: Content: 68656C6C6F0A00
69
70; CHECK: - Type: CUSTOM
71; CHECK-NEXT: Name: linking
72; CHECK-NEXT: DataSize: 35