blob: c503afa812324baca0daf5707b81a40616522612 [file] [log] [blame]
Sam Clegg70683b22018-01-24 03:29:47 +00001; RUN: llc -filetype=obj %p/Inputs/hello.ll -o %t.hello.o
2; RUN: llc -filetype=obj %s -o %t.o
Sam Clegg752494b2018-05-05 01:23:07 +00003; RUN: wasm-ld -r -o %t.wasm %t.hello.o %t.o
Sam Cleggc94d3932017-11-17 18:14:09 +00004; RUN: obj2yaml %t.wasm | FileCheck %s
5
Sam Clegg262e0902018-05-10 17:59:41 +00006target triple = "wasm32-unknown-unknown"
Sam Clegg70683b22018-01-24 03:29:47 +00007
Sam Cleggc94d3932017-11-17 18:14:09 +00008; Function Attrs: nounwind
9define hidden i32 @my_func() local_unnamed_addr {
10entry:
11 %call = tail call i32 @foo_import()
Sam Clegg729a8642018-01-19 20:56:20 +000012 %call2 = tail call i32 @bar_import()
Sam Cleggc94d3932017-11-17 18:14:09 +000013 ret i32 1
14}
15
16declare i32 @foo_import() local_unnamed_addr
Sam Clegg729a8642018-01-19 20:56:20 +000017declare extern_weak i32 @bar_import() local_unnamed_addr
Sam Cleggc94d3932017-11-17 18:14:09 +000018@data_import = external global i64
19
20@func_addr1 = hidden global i32()* @my_func, align 4
21@func_addr2 = hidden global i32()* @foo_import, align 4
Sam Clegg729a8642018-01-19 20:56:20 +000022@func_addr3 = hidden global i32()* @bar_import, align 4
Sam Cleggc94d3932017-11-17 18:14:09 +000023@data_addr1 = hidden global i64* @data_import, align 8
24
Sam Clegge0f6fcd2018-01-12 22:25:17 +000025$func_comdat = comdat any
26@data_comdat = weak_odr constant [3 x i8] c"abc", comdat($func_comdat)
27define linkonce_odr i32 @func_comdat() comdat {
28entry:
29 ret i32 ptrtoint ([3 x i8]* @data_comdat to i32)
30}
31
Sam Cleggc94d3932017-11-17 18:14:09 +000032; CHECK: --- !WASM
Rui Ueyama1ce416c2017-12-12 20:00:30 +000033; CHECK-NEXT: FileHeader:
Sam Cleggc94d3932017-11-17 18:14:09 +000034; CHECK-NEXT: Version: 0x00000001
Rui Ueyama1ce416c2017-12-12 20:00:30 +000035; CHECK-NEXT: Sections:
Sam Cleggc94d3932017-11-17 18:14:09 +000036; CHECK-NEXT: - Type: TYPE
Rui Ueyama1ce416c2017-12-12 20:00:30 +000037; CHECK-NEXT: Signatures:
Sam Cleggc94d3932017-11-17 18:14:09 +000038; CHECK-NEXT: - Index: 0
39; CHECK-NEXT: ReturnType: NORESULT
Rui Ueyama1ce416c2017-12-12 20:00:30 +000040; CHECK-NEXT: ParamTypes:
Sam Cleggc94d3932017-11-17 18:14:09 +000041; CHECK-NEXT: - I32
Sam Clegg8f6d2de2018-01-31 23:48:14 +000042; CHECK-NEXT: - Index: 1
Sam Cleggc94d3932017-11-17 18:14:09 +000043; CHECK-NEXT: ReturnType: I32
Rui Ueyama1ce416c2017-12-12 20:00:30 +000044; CHECK-NEXT: ParamTypes:
Sam Clegg8f6d2de2018-01-31 23:48:14 +000045; CHECK-NEXT: - Index: 2
46; CHECK-NEXT: ReturnType: NORESULT
47; CHECK-NEXT: ParamTypes:
Sam Cleggc94d3932017-11-17 18:14:09 +000048; CHECK-NEXT: - Type: IMPORT
Rui Ueyama1ce416c2017-12-12 20:00:30 +000049; CHECK-NEXT: Imports:
Sam Cleggc94d3932017-11-17 18:14:09 +000050; CHECK-NEXT: - Module: env
51; CHECK-NEXT: Field: puts
52; CHECK-NEXT: Kind: FUNCTION
Sam Clegg8f6d2de2018-01-31 23:48:14 +000053; CHECK-NEXT: SigIndex: 0
Sam Cleggc94d3932017-11-17 18:14:09 +000054; CHECK-NEXT: - Module: env
55; CHECK-NEXT: Field: foo_import
56; CHECK-NEXT: Kind: FUNCTION
Sam Clegg8f6d2de2018-01-31 23:48:14 +000057; CHECK-NEXT: SigIndex: 1
Sam Cleggc94d3932017-11-17 18:14:09 +000058; CHECK-NEXT: - Module: env
Sam Clegg729a8642018-01-19 20:56:20 +000059; CHECK-NEXT: Field: bar_import
60; CHECK-NEXT: Kind: FUNCTION
Sam Clegg8f6d2de2018-01-31 23:48:14 +000061; CHECK-NEXT: SigIndex: 1
Sam Cleggc94d3932017-11-17 18:14:09 +000062; CHECK-NEXT: - Type: FUNCTION
Sam Clegg8f6d2de2018-01-31 23:48:14 +000063; CHECK-NEXT: FunctionTypes: [ 2, 1, 1 ]
Sam Cleggc94d3932017-11-17 18:14:09 +000064; CHECK-NEXT: - Type: TABLE
Rui Ueyama1ce416c2017-12-12 20:00:30 +000065; CHECK-NEXT: Tables:
Thomas Lively25ff8932019-01-08 06:25:55 +000066; CHECK-NEXT: - ElemType: FUNCREF
Rui Ueyama1ce416c2017-12-12 20:00:30 +000067; CHECK-NEXT: Limits:
Sam Clegg30b013b2017-12-14 00:34:25 +000068; CHECK-NEXT: Flags: [ HAS_MAX ]
Sam Clegg48bbd632018-01-24 21:37:30 +000069; CHECK-NEXT: Initial: 0x00000004
70; CHECK-NEXT: Maximum: 0x00000004
Sam Cleggc94d3932017-11-17 18:14:09 +000071; CHECK-NEXT: - Type: MEMORY
Rui Ueyama1ce416c2017-12-12 20:00:30 +000072; CHECK-NEXT: Memories:
Sam Cleggc94d3932017-11-17 18:14:09 +000073; CHECK-NEXT: - Initial: 0x00000001
Sam Cleggc94d3932017-11-17 18:14:09 +000074; CHECK-NEXT: - Type: ELEM
Rui Ueyama1ce416c2017-12-12 20:00:30 +000075; CHECK-NEXT: Segments:
76; CHECK-NEXT: - Offset:
Sam Cleggc94d3932017-11-17 18:14:09 +000077; CHECK-NEXT: Opcode: I32_CONST
Sam Clegg48bbd632018-01-24 21:37:30 +000078; CHECK-NEXT: Value: 1
Sam Clegg729a8642018-01-19 20:56:20 +000079; CHECK-NEXT: Functions: [ 4, 1, 2 ]
Sam Cleggc94d3932017-11-17 18:14:09 +000080; CHECK-NEXT: - Type: CODE
Rui Ueyama1ce416c2017-12-12 20:00:30 +000081; CHECK-NEXT: Relocations:
Sam Cleggc94d3932017-11-17 18:14:09 +000082; CHECK-NEXT: - Type: R_WEBASSEMBLY_MEMORY_ADDR_SLEB
Nicholas Wilson280f8722018-02-28 17:20:51 +000083; CHECK-NEXT: Index: 1
Sam Cleggc94d3932017-11-17 18:14:09 +000084; CHECK-NEXT: Offset: 0x00000004
85; CHECK-NEXT: - Type: R_WEBASSEMBLY_FUNCTION_INDEX_LEB
Nicholas Wilson280f8722018-02-28 17:20:51 +000086; CHECK-NEXT: Index: 2
Sam Cleggc94d3932017-11-17 18:14:09 +000087; CHECK-NEXT: Offset: 0x0000000A
88; CHECK-NEXT: - Type: R_WEBASSEMBLY_FUNCTION_INDEX_LEB
Nicholas Wilson280f8722018-02-28 17:20:51 +000089; CHECK-NEXT: Index: 4
Sam Cleggc94d3932017-11-17 18:14:09 +000090; CHECK-NEXT: Offset: 0x00000013
Sam Clegg729a8642018-01-19 20:56:20 +000091; CHECK-NEXT: - Type: R_WEBASSEMBLY_FUNCTION_INDEX_LEB
Nicholas Wilson280f8722018-02-28 17:20:51 +000092; CHECK-NEXT: Index: 5
Sam Clegg729a8642018-01-19 20:56:20 +000093; CHECK-NEXT: Offset: 0x0000001A
Sam Clegge0f6fcd2018-01-12 22:25:17 +000094; CHECK-NEXT: - Type: R_WEBASSEMBLY_MEMORY_ADDR_SLEB
Nicholas Wilson280f8722018-02-28 17:20:51 +000095; CHECK-NEXT: Index: 7
Sam Clegg729a8642018-01-19 20:56:20 +000096; CHECK-NEXT: Offset: 0x00000026
Rui Ueyama1ce416c2017-12-12 20:00:30 +000097; CHECK-NEXT: Functions:
Sam Cleggf50534b2018-01-09 21:47:36 +000098; CHECK-NEXT: - Index: 3
99; CHECK-NEXT: Locals:
Sam Clegg729a8642018-01-19 20:56:20 +0000100; CHECK-NEXT: Body: 4180808080001080808080000B
101; CHECK-NEXT: - Index: 4
Sam Clegge0f6fcd2018-01-12 22:25:17 +0000102; CHECK-NEXT: Locals:
Sam Clegg729a8642018-01-19 20:56:20 +0000103; CHECK-NEXT: Body: 1081808080001A1082808080001A41010B
104; CHECK-NEXT: - Index: 5
105; CHECK-NEXT: Locals:
106; CHECK-NEXT: Body: 419C808080000B
Sam Cleggc94d3932017-11-17 18:14:09 +0000107; CHECK-NEXT: - Type: DATA
Rui Ueyama1ce416c2017-12-12 20:00:30 +0000108; CHECK-NEXT: Relocations:
Sam Cleggc94d3932017-11-17 18:14:09 +0000109; CHECK-NEXT: - Type: R_WEBASSEMBLY_TABLE_INDEX_I32
Nicholas Wilson280f8722018-02-28 17:20:51 +0000110; CHECK-NEXT: Index: 3
Sam Cleggc94d3932017-11-17 18:14:09 +0000111; CHECK-NEXT: Offset: 0x00000012
112; CHECK-NEXT: - Type: R_WEBASSEMBLY_TABLE_INDEX_I32
Nicholas Wilson280f8722018-02-28 17:20:51 +0000113; CHECK-NEXT: Index: 4
Sam Cleggc94d3932017-11-17 18:14:09 +0000114; CHECK-NEXT: Offset: 0x0000001B
Sam Clegg729a8642018-01-19 20:56:20 +0000115; CHECK-NEXT: - Type: R_WEBASSEMBLY_TABLE_INDEX_I32
Nicholas Wilson280f8722018-02-28 17:20:51 +0000116; CHECK-NEXT: Index: 5
Sam Clegg729a8642018-01-19 20:56:20 +0000117; CHECK-NEXT: Offset: 0x00000024
Sam Cleggc94d3932017-11-17 18:14:09 +0000118; CHECK-NEXT: - Type: R_WEBASSEMBLY_MEMORY_ADDR_I32
Nicholas Wilson280f8722018-02-28 17:20:51 +0000119; CHECK-NEXT: Index: 12
Sam Clegg729a8642018-01-19 20:56:20 +0000120; CHECK-NEXT: Offset: 0x0000002D
Rui Ueyama1ce416c2017-12-12 20:00:30 +0000121; CHECK-NEXT: Segments:
Sam Cleggc94d3932017-11-17 18:14:09 +0000122; CHECK-NEXT: - SectionOffset: 6
123; CHECK-NEXT: MemoryIndex: 0
Rui Ueyama1ce416c2017-12-12 20:00:30 +0000124; CHECK-NEXT: Offset:
Sam Cleggc94d3932017-11-17 18:14:09 +0000125; CHECK-NEXT: Opcode: I32_CONST
126; CHECK-NEXT: Value: 0
127; CHECK-NEXT: Content: 68656C6C6F0A00
128; CHECK-NEXT: - SectionOffset: 18
129; CHECK-NEXT: MemoryIndex: 0
Rui Ueyama1ce416c2017-12-12 20:00:30 +0000130; CHECK-NEXT: Offset:
Sam Cleggc94d3932017-11-17 18:14:09 +0000131; CHECK-NEXT: Opcode: I32_CONST
132; CHECK-NEXT: Value: 8
Sam Clegg48bbd632018-01-24 21:37:30 +0000133; CHECK-NEXT: Content: '01000000'
Sam Cleggc94d3932017-11-17 18:14:09 +0000134; CHECK-NEXT: - SectionOffset: 27
135; CHECK-NEXT: MemoryIndex: 0
Rui Ueyama1ce416c2017-12-12 20:00:30 +0000136; CHECK-NEXT: Offset:
Sam Cleggc94d3932017-11-17 18:14:09 +0000137; CHECK-NEXT: Opcode: I32_CONST
138; CHECK-NEXT: Value: 12
Sam Clegg48bbd632018-01-24 21:37:30 +0000139; CHECK-NEXT: Content: '02000000'
Sam Cleggc94d3932017-11-17 18:14:09 +0000140; CHECK-NEXT: - SectionOffset: 36
141; CHECK-NEXT: MemoryIndex: 0
Rui Ueyama1ce416c2017-12-12 20:00:30 +0000142; CHECK-NEXT: Offset:
Sam Cleggc94d3932017-11-17 18:14:09 +0000143; CHECK-NEXT: Opcode: I32_CONST
144; CHECK-NEXT: Value: 16
Sam Clegg48bbd632018-01-24 21:37:30 +0000145; CHECK-NEXT: Content: '03000000'
Sam Clegge0f6fcd2018-01-12 22:25:17 +0000146; CHECK-NEXT: - SectionOffset: 45
147; CHECK-NEXT: MemoryIndex: 0
148; CHECK-NEXT: Offset:
149; CHECK-NEXT: Opcode: I32_CONST
Sam Clegg729a8642018-01-19 20:56:20 +0000150; CHECK-NEXT: Value: 24
151; CHECK-NEXT: Content: '00000000'
152; CHECK-NEXT: - SectionOffset: 54
153; CHECK-NEXT: MemoryIndex: 0
154; CHECK-NEXT: Offset:
155; CHECK-NEXT: Opcode: I32_CONST
156; CHECK-NEXT: Value: 28
Sam Clegge0f6fcd2018-01-12 22:25:17 +0000157; CHECK-NEXT: Content: '616263'
Sam Cleggc94d3932017-11-17 18:14:09 +0000158; CHECK-NEXT: - Type: CUSTOM
159; CHECK-NEXT: Name: linking
Sam Clegg6320efb2019-01-16 01:43:21 +0000160; CHECK-NEXT: Version: 2
Sam Clegg93102972018-02-23 05:08:53 +0000161; CHECK-NEXT: SymbolTable:
162; CHECK-NEXT: - Index: 0
163; CHECK-NEXT: Kind: FUNCTION
Sam Clegg93102972018-02-23 05:08:53 +0000164; CHECK-NEXT: Name: hello
165; CHECK-NEXT: Flags: [ VISIBILITY_HIDDEN ]
166; CHECK-NEXT: Function: 3
Nicholas Wilson280f8722018-02-28 17:20:51 +0000167; CHECK-NEXT: - Index: 1
Sam Clegg93102972018-02-23 05:08:53 +0000168; CHECK-NEXT: Kind: DATA
169; CHECK-NEXT: Name: hello_str
170; CHECK-NEXT: Flags: [ ]
171; CHECK-NEXT: Segment: 0
172; CHECK-NEXT: Size: 7
Nicholas Wilson280f8722018-02-28 17:20:51 +0000173; CHECK-NEXT: - Index: 2
174; CHECK-NEXT: Kind: FUNCTION
175; CHECK-NEXT: Name: puts
176; CHECK-NEXT: Flags: [ UNDEFINED ]
177; CHECK-NEXT: Function: 0
Sam Clegg93102972018-02-23 05:08:53 +0000178; CHECK-NEXT: - Index: 3
179; CHECK-NEXT: Kind: FUNCTION
Sam Clegg93102972018-02-23 05:08:53 +0000180; CHECK-NEXT: Name: my_func
181; CHECK-NEXT: Flags: [ VISIBILITY_HIDDEN ]
182; CHECK-NEXT: Function: 4
Nicholas Wilson280f8722018-02-28 17:20:51 +0000183; CHECK-NEXT: - Index: 4
184; CHECK-NEXT: Kind: FUNCTION
185; CHECK-NEXT: Name: foo_import
186; CHECK-NEXT: Flags: [ UNDEFINED ]
187; CHECK-NEXT: Function: 1
188; CHECK-NEXT: - Index: 5
189; CHECK-NEXT: Kind: FUNCTION
190; CHECK-NEXT: Name: bar_import
191; CHECK-NEXT: Flags: [ BINDING_WEAK, UNDEFINED ]
192; CHECK-NEXT: Function: 2
193; CHECK-NEXT: - Index: 6
Sam Clegg93102972018-02-23 05:08:53 +0000194; CHECK-NEXT: Kind: FUNCTION
195; CHECK-NEXT: Name: func_comdat
Sam Clegg04b76f42018-01-19 21:49:41 +0000196; CHECK-NEXT: Flags: [ BINDING_WEAK ]
Sam Clegg93102972018-02-23 05:08:53 +0000197; CHECK-NEXT: Function: 5
Nicholas Wilson280f8722018-02-28 17:20:51 +0000198; CHECK-NEXT: - Index: 7
Sam Clegg93102972018-02-23 05:08:53 +0000199; CHECK-NEXT: Kind: DATA
200; CHECK-NEXT: Name: data_comdat
Sam Cleggd3052d52018-01-18 23:40:49 +0000201; CHECK-NEXT: Flags: [ BINDING_WEAK ]
Sam Clegg93102972018-02-23 05:08:53 +0000202; CHECK-NEXT: Segment: 5
203; CHECK-NEXT: Size: 3
Nicholas Wilson280f8722018-02-28 17:20:51 +0000204; CHECK-NEXT: - Index: 8
Sam Clegg93102972018-02-23 05:08:53 +0000205; CHECK-NEXT: Kind: DATA
206; CHECK-NEXT: Name: func_addr1
Sam Cleggd3052d52018-01-18 23:40:49 +0000207; CHECK-NEXT: Flags: [ VISIBILITY_HIDDEN ]
Sam Clegg93102972018-02-23 05:08:53 +0000208; CHECK-NEXT: Segment: 1
209; CHECK-NEXT: Size: 4
Nicholas Wilson280f8722018-02-28 17:20:51 +0000210; CHECK-NEXT: - Index: 9
Sam Clegg93102972018-02-23 05:08:53 +0000211; CHECK-NEXT: Kind: DATA
212; CHECK-NEXT: Name: func_addr2
Sam Cleggd3052d52018-01-18 23:40:49 +0000213; CHECK-NEXT: Flags: [ VISIBILITY_HIDDEN ]
Sam Clegg93102972018-02-23 05:08:53 +0000214; CHECK-NEXT: Segment: 2
215; CHECK-NEXT: Size: 4
Nicholas Wilson280f8722018-02-28 17:20:51 +0000216; CHECK-NEXT: - Index: 10
Sam Clegg93102972018-02-23 05:08:53 +0000217; CHECK-NEXT: Kind: DATA
218; CHECK-NEXT: Name: func_addr3
Sam Clegg729a8642018-01-19 20:56:20 +0000219; CHECK-NEXT: Flags: [ VISIBILITY_HIDDEN ]
Sam Clegg93102972018-02-23 05:08:53 +0000220; CHECK-NEXT: Segment: 3
221; CHECK-NEXT: Size: 4
Nicholas Wilson280f8722018-02-28 17:20:51 +0000222; CHECK-NEXT: - Index: 11
Sam Clegg93102972018-02-23 05:08:53 +0000223; CHECK-NEXT: Kind: DATA
224; CHECK-NEXT: Name: data_addr1
Sam Cleggd3052d52018-01-18 23:40:49 +0000225; CHECK-NEXT: Flags: [ VISIBILITY_HIDDEN ]
Sam Clegg93102972018-02-23 05:08:53 +0000226; CHECK-NEXT: Segment: 4
227; CHECK-NEXT: Size: 4
Nicholas Wilson280f8722018-02-28 17:20:51 +0000228; CHECK-NEXT: - Index: 12
229; CHECK-NEXT: Kind: DATA
230; CHECK-NEXT: Name: data_import
231; CHECK-NEXT: Flags: [ UNDEFINED ]
Rui Ueyama1ce416c2017-12-12 20:00:30 +0000232; CHECK-NEXT: SegmentInfo:
Sam Cleggc94d3932017-11-17 18:14:09 +0000233; CHECK-NEXT: - Index: 0
234; CHECK-NEXT: Name: .rodata.hello_str
Sam Clegg6320efb2019-01-16 01:43:21 +0000235; CHECK-NEXT: Alignment: 0
Sam Clegge0f6fcd2018-01-12 22:25:17 +0000236; CHECK-NEXT: Flags: [ ]
Sam Cleggc94d3932017-11-17 18:14:09 +0000237; CHECK-NEXT: - Index: 1
238; CHECK-NEXT: Name: .data.func_addr1
Sam Clegg6320efb2019-01-16 01:43:21 +0000239; CHECK-NEXT: Alignment: 2
Sam Clegge0f6fcd2018-01-12 22:25:17 +0000240; CHECK-NEXT: Flags: [ ]
Sam Cleggc94d3932017-11-17 18:14:09 +0000241; CHECK-NEXT: - Index: 2
242; CHECK-NEXT: Name: .data.func_addr2
Sam Clegg6320efb2019-01-16 01:43:21 +0000243; CHECK-NEXT: Alignment: 2
Sam Clegge0f6fcd2018-01-12 22:25:17 +0000244; CHECK-NEXT: Flags: [ ]
Sam Cleggc94d3932017-11-17 18:14:09 +0000245; CHECK-NEXT: - Index: 3
Sam Clegg729a8642018-01-19 20:56:20 +0000246; CHECK-NEXT: Name: .data.func_addr3
Sam Clegg6320efb2019-01-16 01:43:21 +0000247; CHECK-NEXT: Alignment: 2
Sam Clegg729a8642018-01-19 20:56:20 +0000248; CHECK-NEXT: Flags: [ ]
249; CHECK-NEXT: - Index: 4
Sam Cleggc94d3932017-11-17 18:14:09 +0000250; CHECK-NEXT: Name: .data.data_addr1
Sam Clegg6320efb2019-01-16 01:43:21 +0000251; CHECK-NEXT: Alignment: 3
Sam Clegge0f6fcd2018-01-12 22:25:17 +0000252; CHECK-NEXT: Flags: [ ]
Sam Clegg729a8642018-01-19 20:56:20 +0000253; CHECK-NEXT: - Index: 5
Sam Clegge0f6fcd2018-01-12 22:25:17 +0000254; CHECK-NEXT: Name: .rodata.data_comdat
Sam Clegg6320efb2019-01-16 01:43:21 +0000255; CHECK-NEXT: Alignment: 0
Sam Clegge0f6fcd2018-01-12 22:25:17 +0000256; CHECK-NEXT: Flags: [ ]
257; CHECK-NEXT: Comdats:
258; CHECK-NEXT: - Name: func_comdat
259; CHECK-NEXT: Entries:
260; CHECK-NEXT: - Kind: FUNCTION
Sam Clegg729a8642018-01-19 20:56:20 +0000261; CHECK-NEXT: Index: 5
Sam Clegge0f6fcd2018-01-12 22:25:17 +0000262; CHECK-NEXT: - Kind: DATA
Sam Clegg729a8642018-01-19 20:56:20 +0000263; CHECK-NEXT: Index: 5
Sam Cleggc94d3932017-11-17 18:14:09 +0000264; CHECK-NEXT: - Type: CUSTOM
265; CHECK-NEXT: Name: name
Rui Ueyama1ce416c2017-12-12 20:00:30 +0000266; CHECK-NEXT: FunctionNames:
Sam Cleggc94d3932017-11-17 18:14:09 +0000267; CHECK-NEXT: - Index: 0
268; CHECK-NEXT: Name: puts
269; CHECK-NEXT: - Index: 1
270; CHECK-NEXT: Name: foo_import
271; CHECK-NEXT: - Index: 2
Sam Clegg729a8642018-01-19 20:56:20 +0000272; CHECK-NEXT: Name: bar_import
Sam Cleggc94d3932017-11-17 18:14:09 +0000273; CHECK-NEXT: - Index: 3
Sam Clegg729a8642018-01-19 20:56:20 +0000274; CHECK-NEXT: Name: hello
Sam Clegg1963d712018-01-17 20:19:04 +0000275; CHECK-NEXT: - Index: 4
Sam Clegg729a8642018-01-19 20:56:20 +0000276; CHECK-NEXT: Name: my_func
277; CHECK-NEXT: - Index: 5
Sam Clegg1963d712018-01-17 20:19:04 +0000278; CHECK-NEXT: Name: func_comdat
Sam Cleggc94d3932017-11-17 18:14:09 +0000279; CHECK-NEXT: ...