blob: c8dff4036d30a0252198d8ccca7a0848cdb0b135 [file] [log] [blame]
Sam Clegg7736855d2017-06-13 01:42:21 +00001; RUN: llc -mtriple wasm32-unknown-unknown-wasm -filetype=obj %s -o - | obj2yaml | FileCheck %s
2; Verify that addresses of external functions generate correctly typed
3; imports and relocations or type R_TABLE_INDEX_I32.
4
Sam Clegg9bf73c02017-07-05 20:25:08 +00005declare void @f1(i32) #1
6@ptr_to_f1 = hidden global void (i32)* @f1, align 4
Sam Clegg7736855d2017-06-13 01:42:21 +00007
Sam Clegg9bf73c02017-07-05 20:25:08 +00008; CHECK: --- !WASM
9; CHECK-NEXT: FileHeader:
10; CHECK-NEXT: Version: 0x00000001
11; CHECK-NEXT: Sections:
12; CHECK-NEXT: - Type: TYPE
13; CHECK-NEXT: Signatures:
14; CHECK-NEXT: - Index: 0
15; CHECK-NEXT: ReturnType: NORESULT
16; CHECK-NEXT: ParamTypes:
17; CHECK-NEXT: - I32
18; CHECK: - Type: IMPORT
19; CHECK-NEXT: Imports:
Sam Cleggf950b242017-12-11 23:03:38 +000020; CHECK: - Module: env
21; CHECK-NEXT: Field: __linear_memory
22; CHECK: - Module: env
23; CHECK-NEXT: Field: __indirect_function_table
24; CHECK: - Module: env
Sam Clegg9bf73c02017-07-05 20:25:08 +000025; CHECK-NEXT: Field: f1
26; CHECK-NEXT: Kind: FUNCTION
27; CHECK-NEXT: SigIndex: 0
28; CHECK: - Type: ELEM
29; CHECK-NEXT: Segments:
30; CHECK-NEXT: - Offset:
31; CHECK-NEXT: Opcode: I32_CONST
Sam Clegg30e1bbc2018-01-19 18:57:01 +000032; CHECK-NEXT: Value: 1
Sam Clegg9bf73c02017-07-05 20:25:08 +000033; CHECK-NEXT: Functions: [ 0 ]
34; CHECK: - Type: DATA
35; CHECK-NEXT: Relocations:
36; CHECK-NEXT: - Type: R_WEBASSEMBLY_TABLE_INDEX_I32
Sam Clegg30e1bbc2018-01-19 18:57:01 +000037; CHECK-NEXT: Index: 1
Sam Clegg9bf73c02017-07-05 20:25:08 +000038; CHECK-NEXT: Offset: 0x00000006