• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc -filetype=obj -exception-model=wasm -mattr=+exception-handling %s -o - | obj2yaml | FileCheck %s
2; RUN: llc -filetype=obj -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, i8*)
7
8define i32 @test_throw0(i8* %p) {
9  call void @llvm.wasm.throw(i32 0, i8* %p)
10  ret i32 0
11}
12
13define i32 @test_throw1(i8* %p) {
14  call void @llvm.wasm.throw(i32 0, i8* %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:            EVENT
32; CHECK-NEXT:     Events:
33; CHECK-NEXT:       - Index:           0
34; CHECK-NEXT:         Attribute:       0
35; CHECK-NEXT:         SigIndex:        1
36
37; CHECK-NEXT:   - Type:            CODE
38; CHECK-NEXT:     Relocations:
39; CHECK-NEXT:       - Type:            R_WASM_EVENT_INDEX_LEB
40; CHECK-NEXT:         Index:           1
41; CHECK-NEXT:         Offset:          0x6
42; CHECK-NEXT:       - Type:            R_WASM_EVENT_INDEX_LEB
43; CHECK-NEXT:         Index:           1
44; CHECK-NEXT:         Offset:          0x11
45
46; CHECK:        - Type:            CUSTOM
47; CHECK-NEXT:     Name:            linking
48; CHECK-NEXT:     Version:         2
49; CHECK-NEXT:     SymbolTable:
50
51; CHECK:            - Index:           1
52; CHECK-NEXT:         Kind:            EVENT
53; CHECK-NEXT:         Name:            __cpp_exception
54; CHECK-NEXT:         Flags:           [ BINDING_WEAK ]
55; CHECK-NEXT:         Event:           0
56
57; SEC:          Type: EVENT (0xD)
58; SEC-NEXT:     Size: 3
59; SEC-NEXT:     Offset: 63
60