[InstCombine] Signed saturation patterns
[llvm-core.git] / test / tools / llvm-readobj / wasm-imports.test
blob6eb19673d99b3b9da3a33fe0e0331bf5fcd2bf8a
1 # RUN: yaml2obj %s | llvm-readobj --symbols | FileCheck %s
3 # Test symbols with custom import module and name attributes.
5 --- !WASM
6 FileHeader:      
7   Version:         0x00000001
8 Sections:        
9   - Type:            TYPE
10     Signatures:      
11       - Index:           0
12         ParamTypes:      []
13         ReturnTypes:
14           - I32
15       - Index:           1
16         ParamTypes:      []
17         ReturnTypes:     []
18   - Type:            IMPORT
19     Imports:         
20       - Module:          env
21         Field:           __linear_memory
22         Kind:            MEMORY
23         Memory:          
24           Initial:         0x00000000
25       - Module:          env
26         Field:           __indirect_function_table
27         Kind:            TABLE
28         Table:           
29           ElemType:        FUNCREF
30           Limits:          
31             Initial:         0x00000000
32       - Module:          red
33         Field:           foo
34         Kind:            FUNCTION
35         SigIndex:        1
36       - Module:          env
37         Field:           green
38         Kind:            FUNCTION
39         SigIndex:        1
40       - Module:          blue
41         Field:           purple
42         Kind:            FUNCTION
43         SigIndex:        1
44   - Type:            FUNCTION
45     FunctionTypes:   [ 0 ]
46   - Type:            CODE
47     Relocations:     
48       - Type:            R_WASM_FUNCTION_INDEX_LEB
49         Index:           1
50         Offset:          0x00000004
51       - Type:            R_WASM_FUNCTION_INDEX_LEB
52         Index:           2
53         Offset:          0x0000000A
54       - Type:            R_WASM_FUNCTION_INDEX_LEB
55         Index:           3
56         Offset:          0x00000010
57     Functions:       
58       - Index:           3
59         Locals:          []
60         Body:            10808080800010818080800010828080800041000B
61   - Type:            CUSTOM
62     Name:            linking
63     Version:         2
64     SymbolTable:     
65       - Index:           0
66         Kind:            FUNCTION
67         Name:            test
68         Flags:           [ VISIBILITY_HIDDEN ]
69         Function:        3
70       - Index:           1
71         Kind:            FUNCTION
72         Name:            foo
73         Flags:           [ UNDEFINED ]
74         Function:        0
75       - Index:           2
76         Kind:            FUNCTION
77         Name:            bar
78         Flags:           [ UNDEFINED, EXPLICIT_NAME ]
79         Function:        1
80       - Index:           3
81         Kind:            FUNCTION
82         Name:            qux
83         Flags:           [ UNDEFINED, EXPLICIT_NAME ]
84         Function:        2
85   - Type:            CUSTOM
86     Name:            producers
87     Tools:           
88       - Name:            clang
89         Version:         '9.0.0 (trunk 359436)'
90 ...
92 # CHECK:      Format: WASM
93 # CHECK-NEXT: Arch: wasm32
94 # CHECK-NEXT: AddressSize: 32bit
95 # CHECK-NEXT: Symbols [
96 # CHECK-NEXT:   Symbol {
97 # CHECK-NEXT:     Name: test
98 # CHECK-NEXT:     Type: FUNCTION (0x0)
99 # CHECK-NEXT:     Flags [ (0x4)
100 # CHECK-NEXT:       VISIBILITY_HIDDEN (0x4)
101 # CHECK-NEXT:     ]
102 # CHECK-NEXT:     ElementIndex: 0x3
103 # CHECK-NEXT:   }
104 # CHECK-NEXT:   Symbol {
105 # CHECK-NEXT:     Name: foo
106 # CHECK-NEXT:     Type: FUNCTION (0x0)
107 # CHECK-NEXT:     Flags [ (0x10)
108 # CHECK-NEXT:       UNDEFINED (0x10)
109 # CHECK-NEXT:     ]
110 # CHECK-NEXT:     ImportName: foo
111 # CHECK-NEXT:     ImportModule: red
112 # CHECK-NEXT:     ElementIndex: 0x0
113 # CHECK-NEXT:   }
114 # CHECK-NEXT:   Symbol {
115 # CHECK-NEXT:     Name: bar
116 # CHECK-NEXT:     Type: FUNCTION (0x0)
117 # CHECK-NEXT:     Flags [ (0x50)
118 # CHECK-NEXT:       EXPLICIT_NAME (0x40)
119 # CHECK-NEXT:       UNDEFINED (0x10)
120 # CHECK-NEXT:     ]
121 # CHECK-NEXT:     ImportName: green
122 # CHECK-NEXT:     ImportModule: env
123 # CHECK-NEXT:     ElementIndex: 0x1
124 # CHECK-NEXT:   }
125 # CHECK-NEXT:   Symbol {
126 # CHECK-NEXT:     Name: qux
127 # CHECK-NEXT:     Type: FUNCTION (0x0)
128 # CHECK-NEXT:     Flags [ (0x50)
129 # CHECK-NEXT:       EXPLICIT_NAME (0x40)
130 # CHECK-NEXT:       UNDEFINED (0x10)
131 # CHECK-NEXT:     ]
132 # CHECK-NEXT:     ImportName: purple
133 # CHECK-NEXT:     ImportModule: blue
134 # CHECK-NEXT:     ElementIndex: 0x2
135 # CHECK-NEXT:   }
136 # CHECK-NEXT: ]