xref: /llvm-project/llvm/test/MC/WebAssembly/tag-section.ll (revision 35a5df2de6bd56c95edcd10d6acab040b251238e)
1; RUN: llc -filetype=obj -wasm-enable-eh -exception-model=wasm -mattr=+exception-handling %s -o - | obj2yaml | FileCheck %s
2; RUN: llc -filetype=obj -wasm-enable-eh -exception-model=wasm -mattr=+exception-handling %s -o - | llvm-readobj -S - | FileCheck -check-prefix=SEC %s
3
4target triple = "wasm32-unknown-unknown"
5
6declare void @llvm.wasm.throw(i32, ptr)
7
8define i32 @test_throw0(ptr %p) {
9  call void @llvm.wasm.throw(i32 0, ptr %p)
10  ret i32 0
11}
12
13define i32 @test_throw1(ptr %p) {
14  call void @llvm.wasm.throw(i32 0, ptr %p)
15  ret i32 1
16}
17
18; CHECK:      Sections:
19; CHECK-NEXT:   - Type:            TYPE
20; CHECK-NEXT:     Signatures:
21; CHECK-NEXT:       - Index:           0
22; CHECK-NEXT:         ParamTypes:
23; CHECK-NEXT:           - I32
24; CHECK-NEXT:         ReturnTypes:
25; CHECK-NEXT:           - I32
26; CHECK-NEXT:       - Index:           1
27; CHECK-NEXT:         ParamTypes:
28; CHECK-NEXT:           - I32
29; CHECK-NEXT:         ReturnTypes:      []
30
31; CHECK:        - Type:            TAG
32; CHECK-NEXT:     TagTypes:        [ 1 ]
33
34; CHECK-NEXT:   - Type:            CODE
35; CHECK-NEXT:     Relocations:
36; CHECK-NEXT:       - Type:            R_WASM_TAG_INDEX_LEB
37; CHECK-NEXT:         Index:           1
38; CHECK-NEXT:         Offset:          0x6
39; CHECK-NEXT:       - Type:            R_WASM_TAG_INDEX_LEB
40; CHECK-NEXT:         Index:           1
41; CHECK-NEXT:         Offset:          0x11
42
43; CHECK:        - Type:            CUSTOM
44; CHECK-NEXT:     Name:            linking
45; CHECK-NEXT:     Version:         2
46; CHECK-NEXT:     SymbolTable:
47
48; CHECK:            - Index:           1
49; CHECK-NEXT:         Kind:            TAG
50; CHECK-NEXT:         Name:            __cpp_exception
51; CHECK-NEXT:         Flags:           [ BINDING_WEAK ]
52; CHECK-NEXT:         Tag:             0
53
54; SEC:          Type: TAG (0xD)
55; SEC-NEXT:     Size: 3
56; SEC-NEXT:     Offset: 69
57