[MIParser] Set RegClassOrRegBank during instruction parsing
[llvm-complete.git] / test / MC / WebAssembly / reloc-code.ll
blob2c2cbba0bd9830c941c31b76df317958a1a37522
1 ; RUN: llc -filetype=obj -wasm-keep-registers %s -o - | llvm-readobj -r --expand-relocs | FileCheck %s
3 target triple = "wasm32-unknown-unknown"
5 ; Pointers to functions of two different types
6 @a = global i64 ()* inttoptr (i64 5 to i64 ()*), align 8
7 @b = global i32 ()* inttoptr (i32 7 to i32 ()*), align 8
9 ; External functions
10 declare i32 @c()
11 declare i32 @d()
13 define i32 @f1() {
14 entry:
15     %aa = load i64 ()*, i64 ()** @a, align 8
16     %bb = load i32 ()*, i32 ()** @b, align 8
17     %tmp1 = call i64 %aa()
18     %tmp2 = call i32 %bb()
19     %tmp3 = call i32 @c()
20     %tmp4 = call i32 @d()
21     ret i32 %tmp2
25 ; CHECK: Format: WASM
26 ; CHECK: Relocations [
27 ; CHECK-NEXT:   Section (5) CODE {
28 ; CHECK-NEXT:     Relocation {
29 ; CHECK-NEXT:       Type: R_WASM_MEMORY_ADDR_LEB (3)
30 ; CHECK-NEXT:       Offset: 0x9
31 ; CHECK-NEXT:       Symbol: b
32 ; CHECK-NEXT:       Addend: 0
33 ; CHECK-NEXT:     }
34 ; CHECK-NEXT:     Relocation {
35 ; CHECK-NEXT:       Type: R_WASM_MEMORY_ADDR_LEB (3)
36 ; CHECK-NEXT:       Offset: 0x14
37 ; CHECK-NEXT:       Symbol: a
38 ; CHECK-NEXT:       Addend: 0
39 ; CHECK-NEXT:     }
40 ; CHECK-NEXT:     Relocation {
41 ; CHECK-NEXT:       Type: R_WASM_TYPE_INDEX_LEB (6)
42 ; CHECK-NEXT:       Offset: 0x1A
43 ; CHECK-NEXT:       Index: 0x1
44 ; CHECK-NEXT:     }
45 ; CHECK-NEXT:     Relocation {
46 ; CHECK-NEXT:       Type: R_WASM_TYPE_INDEX_LEB (6)
47 ; CHECK-NEXT:       Offset: 0x24
48 ; CHECK-NEXT:       Index: 0x0
49 ; CHECK-NEXT:     }
50 ; CHECK-NEXT:     Relocation {
51 ; CHECK-NEXT:       Type: R_WASM_FUNCTION_INDEX_LEB (0)
52 ; CHECK-NEXT:       Offset: 0x2D
53 ; CHECK-NEXT:       Symbol: c
54 ; CHECK-NEXT:     }
55 ; CHECK-NEXT:     Relocation {
56 ; CHECK-NEXT:       Type: R_WASM_FUNCTION_INDEX_LEB (0)
57 ; CHECK-NEXT:       Offset: 0x34
58 ; CHECK-NEXT:       Symbol: d
59 ; CHECK-NEXT:     }
60 ; CHECK-NEXT:   }
61 ; CHECK-NEXT: ]