summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/WebAssembly
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/MC/WebAssembly')
-rw-r--r--llvm/test/MC/WebAssembly/array-fill.ll8
-rw-r--r--llvm/test/MC/WebAssembly/bss.ll87
-rw-r--r--llvm/test/MC/WebAssembly/comdat.ll60
-rw-r--r--llvm/test/MC/WebAssembly/explicit-sections.ll72
-rw-r--r--llvm/test/MC/WebAssembly/func-address.ll4
-rw-r--r--llvm/test/MC/WebAssembly/global-ctor-dtor.ll111
-rw-r--r--llvm/test/MC/WebAssembly/reloc-code.ll6
-rw-r--r--llvm/test/MC/WebAssembly/reloc-data.ll2
-rw-r--r--llvm/test/MC/WebAssembly/sections.ll6
-rw-r--r--llvm/test/MC/WebAssembly/unnamed-data.ll68
-rw-r--r--llvm/test/MC/WebAssembly/visibility.ll12
-rw-r--r--llvm/test/MC/WebAssembly/weak-alias.ll161
-rw-r--r--llvm/test/MC/WebAssembly/weak.ll18
13 files changed, 282 insertions, 333 deletions
diff --git a/llvm/test/MC/WebAssembly/array-fill.ll b/llvm/test/MC/WebAssembly/array-fill.ll
index 7f392c4ca47..e510fbe6bbd 100644
--- a/llvm/test/MC/WebAssembly/array-fill.ll
+++ b/llvm/test/MC/WebAssembly/array-fill.ll
@@ -15,9 +15,13 @@ target triple = "wasm32-unknown-unknown-wasm"
; CHECK: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: DataSize: 2
-; CHECK-NEXT: SymbolInfo:
-; CHECK-NEXT: - Name: gBd
+; CHECK-NEXT: SymbolTable:
+; CHECK-NEXT: - Index: 0
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: gBd
; CHECK-NEXT: Flags: [ VISIBILITY_HIDDEN ]
+; CHECK-NEXT: Segment: 0
+; CHECK-NEXT: Size: 2
; CHECK-NEXT: SegmentInfo:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Name: .data
diff --git a/llvm/test/MC/WebAssembly/bss.ll b/llvm/test/MC/WebAssembly/bss.ll
index ce1ae5abf05..a1d7def6eaf 100644
--- a/llvm/test/MC/WebAssembly/bss.ll
+++ b/llvm/test/MC/WebAssembly/bss.ll
@@ -9,75 +9,60 @@ target triple = "wasm32-unknown-unknown-wasm"
@foo = global %union.u1 zeroinitializer, align 1
@bar = global %union.u1 zeroinitializer, align 1
-; CHECK: - Type: GLOBAL
-; CHECK-NEXT: Globals:
-; CHECK-NEXT: - Index: 0
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: false
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 0
-; CHECK-NEXT: - Index: 1
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: false
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 4
-; CHECK-NEXT: - Index: 2
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: false
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 8
-; CHECK-NEXT: - Index: 3
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: false
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 9
-; CHECK-NEXT: - Type: EXPORT
-; CHECK-NEXT: Exports:
-; CHECK-NEXT: - Name: g0
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 0
-; CHECK-NEXT: - Name: g1
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 1
-; CHECK-NEXT: - Name: foo
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 2
-; CHECK-NEXT: - Name: bar
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 3
-; CHECK-NEXT: - Type: DATA
-; CHECK-NEXT: Segments:
+; CHECK: - Type: DATA
+; CHECK-NEXT: Segments:
; CHECK-NEXT: - SectionOffset: 6
; CHECK-NEXT: MemoryIndex: 0
-; CHECK-NEXT: Offset:
+; CHECK-NEXT: Offset:
; CHECK-NEXT: Opcode: I32_CONST
; CHECK-NEXT: Value: 0
; CHECK-NEXT: Content: '00000000'
; CHECK-NEXT: - SectionOffset: 15
; CHECK-NEXT: MemoryIndex: 0
-; CHECK-NEXT: Offset:
+; CHECK-NEXT: Offset:
; CHECK-NEXT: Opcode: I32_CONST
; CHECK-NEXT: Value: 4
; CHECK-NEXT: Content: '00000000'
; CHECK-NEXT: - SectionOffset: 24
; CHECK-NEXT: MemoryIndex: 0
-; CHECK-NEXT: Offset:
+; CHECK-NEXT: Offset:
; CHECK-NEXT: Opcode: I32_CONST
; CHECK-NEXT: Value: 8
-; CHECK-NEXT: Content: '00'
-; CHECK-NEXT: - SectionOffset: 30
+; CHECK-NEXT: Content: ''
+; CHECK-NEXT: - SectionOffset: 29
; CHECK-NEXT: MemoryIndex: 0
-; CHECK-NEXT: Offset:
+; CHECK-NEXT: Offset:
; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 9
-; CHECK-NEXT: Content: '00'
+; CHECK-NEXT: Value: 8
+; CHECK-NEXT: Content: ''
; CHECK-NEXT: - Type: CUSTOM
; CHECK-NEXT: Name: linking
-; CHECK-NEXT: DataSize: 10
+; CHECK-NEXT: DataSize: 8
+; CHECK-NEXT: SymbolTable:
+; CHECK-NEXT: - Index: 0
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: g0
+; CHECK-NEXT: Flags: [ ]
+; CHECK-NEXT: Segment: 0
+; CHECK-NEXT: Size: 4
+; CHECK-NEXT: - Index: 1
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: g1
+; CHECK-NEXT: Flags: [ ]
+; CHECK-NEXT: Segment: 1
+; CHECK-NEXT: Size: 4
+; CHECK-NEXT: - Index: 2
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: foo
+; CHECK-NEXT: Flags: [ ]
+; CHECK-NEXT: Segment: 2
+; CHECK-NEXT: Size: 0
+; CHECK-NEXT: - Index: 3
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: bar
+; CHECK-NEXT: Flags: [ ]
+; CHECK-NEXT: Segment: 3
+; CHECK-NEXT: Size: 0
; CHECK-NEXT: SegmentInfo:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Name: .bss.g0
diff --git a/llvm/test/MC/WebAssembly/comdat.ll b/llvm/test/MC/WebAssembly/comdat.ll
index db30aeac837..02fc802ae97 100644
--- a/llvm/test/MC/WebAssembly/comdat.ll
+++ b/llvm/test/MC/WebAssembly/comdat.ll
@@ -50,28 +50,6 @@ define linkonce_odr i32 @sharedFn() #1 comdat($sharedComdat) {
; CHECK-NEXT: SigIndex: 0
; CHECK-NEXT: - Type: FUNCTION
; CHECK-NEXT: FunctionTypes: [ 0, 0, 0 ]
-; CHECK-NEXT: - Type: GLOBAL
-; CHECK-NEXT: Globals:
-; CHECK-NEXT: - Index: 0
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: false
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 0
-; CHECK-NEXT: - Type: EXPORT
-; CHECK-NEXT: Exports:
-; CHECK-NEXT: - Name: callImport
-; CHECK-NEXT: Kind: FUNCTION
-; CHECK-NEXT: Index: 1
-; CHECK-NEXT: - Name: basicInlineFn
-; CHECK-NEXT: Kind: FUNCTION
-; CHECK-NEXT: Index: 2
-; CHECK-NEXT: - Name: sharedFn
-; CHECK-NEXT: Kind: FUNCTION
-; CHECK-NEXT: Index: 3
-; CHECK-NEXT: - Name: constantData
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 0
; CHECK-NEXT: - Type: CODE
; CHECK-NEXT: Relocations:
; CHECK-NEXT: - Type: R_WEBASSEMBLY_FUNCTION_INDEX_LEB
@@ -98,24 +76,44 @@ define linkonce_odr i32 @sharedFn() #1 comdat($sharedComdat) {
; CHECK-NEXT: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: DataSize: 3
-; CHECK-NEXT: SymbolInfo:
-; CHECK-NEXT: - Name: basicInlineFn
-; CHECK-NEXT: Flags: [ BINDING_WEAK ]
-; CHECK-NEXT: - Name: sharedFn
-; CHECK-NEXT: Flags: [ BINDING_WEAK ]
-; CHECK-NEXT: - Name: constantData
-; CHECK-NEXT: Flags: [ BINDING_WEAK ]
+; CHECK-NEXT: SymbolTable:
+; CHECK-NEXT: - Index: 0
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: funcImport
+; CHECK-NEXT: Flags: [ UNDEFINED ]
+; CHECK-NEXT: Function: 0
+; CHECK-NEXT: - Index: 1
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: callImport
+; CHECK-NEXT: Flags: [ ]
+; CHECK-NEXT: Function: 1
+; CHECK-NEXT: - Index: 2
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: basicInlineFn
+; CHECK-NEXT: Flags: [ BINDING_WEAK ]
+; CHECK-NEXT: Function: 2
+; CHECK-NEXT: - Index: 3
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: sharedFn
+; CHECK-NEXT: Flags: [ BINDING_WEAK ]
+; CHECK-NEXT: Function: 3
+; CHECK-NEXT: - Index: 4
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: constantData
+; CHECK-NEXT: Flags: [ BINDING_WEAK ]
+; CHECK-NEXT: Segment: 0
+; CHECK-NEXT: Size: 3
; CHECK-NEXT: SegmentInfo:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Name: .rodata.constantData
; CHECK-NEXT: Alignment: 1
; CHECK-NEXT: Flags: [ ]
; CHECK-NEXT: Comdats:
-; CHECK-NEXT: - Name: basicInlineFn
+; CHECK-NEXT: Name: basicInlineFn
; CHECK-NEXT: Entries:
; CHECK-NEXT: - Kind: FUNCTION
; CHECK-NEXT: Index: 2
-; CHECK-NEXT: - Name: sharedComdat
+; CHECK-NEXT: Name: sharedComdat
; CHECK-NEXT: Entries:
; CHECK-NEXT: - Kind: FUNCTION
; CHECK-NEXT: Index: 3
diff --git a/llvm/test/MC/WebAssembly/explicit-sections.ll b/llvm/test/MC/WebAssembly/explicit-sections.ll
index b190c1f7c6a..19a904b58ae 100644
--- a/llvm/test/MC/WebAssembly/explicit-sections.ll
+++ b/llvm/test/MC/WebAssembly/explicit-sections.ll
@@ -9,47 +9,8 @@ target triple = "wasm32-unknown-unknown-wasm"
@global2 = global i64 7, align 8, section ".sec1"
@global3 = global i32 8, align 8, section ".sec2"
-; CHECK: - Type: GLOBAL
-; CHECK-NEXT: Globals:
-; CHECK-NEXT: - Index: 0
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: false
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 0
-; CHECK-NEXT: - Index: 1
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: false
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 8
-; CHECK-NEXT: - Index: 2
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: false
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 16
-; CHECK-NEXT: - Index: 3
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: false
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 24
-; CHECK-NEXT: - Type: EXPORT
-; CHECK-NEXT: Exports:
-; CHECK-NEXT: - Name: global0
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 0
-; CHECK-NEXT: - Name: global1
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 1
-; CHECK-NEXT: - Name: global2
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 2
-; CHECK-NEXT: - Name: global3
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 3
-; CHECK-NEXT: - Type: DATA
+
+; CHECK: - Type: DATA
; CHECK-NEXT: Segments:
; CHECK-NEXT: - SectionOffset: 6
; CHECK-NEXT: MemoryIndex: 0
@@ -69,10 +30,35 @@ target triple = "wasm32-unknown-unknown-wasm"
; CHECK-NEXT: Opcode: I32_CONST
; CHECK-NEXT: Value: 24
; CHECK-NEXT: Content: '08000000'
-
-; CHECK: - Type: CUSTOM
+; CHECK-NEXT: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: DataSize: 28
+; CHECK-NEXT: SymbolTable:
+; CHECK-NEXT: - Index: 0
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: global0
+; CHECK-NEXT: Flags: [ ]
+; CHECK-NEXT: Segment: 0
+; CHECK-NEXT: Size: 4
+; CHECK-NEXT: - Index: 1
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: global1
+; CHECK-NEXT: Flags: [ ]
+; CHECK-NEXT: Segment: 1
+; CHECK-NEXT: Size: 8
+; CHECK-NEXT: - Index: 2
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: global2
+; CHECK-NEXT: Flags: [ ]
+; CHECK-NEXT: Segment: 1
+; CHECK-NEXT: Offset: 8
+; CHECK-NEXT: Size: 8
+; CHECK-NEXT: - Index: 3
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: global3
+; CHECK-NEXT: Flags: [ ]
+; CHECK-NEXT: Segment: 2
+; CHECK-NEXT: Size: 4
; CHECK-NEXT: SegmentInfo:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Name: .data.global0
diff --git a/llvm/test/MC/WebAssembly/func-address.ll b/llvm/test/MC/WebAssembly/func-address.ll
index 4c0cc28c5cd..04c06126369 100644
--- a/llvm/test/MC/WebAssembly/func-address.ll
+++ b/llvm/test/MC/WebAssembly/func-address.ll
@@ -30,7 +30,7 @@ entry:
; CHECK: }
; CHECK: Relocations [
-; CHECK: Section (6) CODE {
+; CHECK: Section (5) CODE {
; CHECK: Relocation {
; CHECK: Type: R_WEBASSEMBLY_FUNCTION_INDEX_LEB (0)
; CHECK: Offset: 0x4
@@ -44,6 +44,6 @@ entry:
; CHECK: Relocation {
; CHECK: Type: R_WEBASSEMBLY_TABLE_INDEX_SLEB (1)
; CHECK: Offset: 0x1E
-; CHECK: Index: 0x2
+; CHECK: Index: 0x3
; CHECK: }
; CHECK: }
diff --git a/llvm/test/MC/WebAssembly/global-ctor-dtor.ll b/llvm/test/MC/WebAssembly/global-ctor-dtor.ll
index 6724911959f..ed7f977d18f 100644
--- a/llvm/test/MC/WebAssembly/global-ctor-dtor.ll
+++ b/llvm/test/MC/WebAssembly/global-ctor-dtor.ll
@@ -38,11 +38,6 @@ declare void @func3()
; CHECK-NEXT: Kind: FUNCTION
; CHECK-NEXT: SigIndex: 1
; CHECK-NEXT: - Module: env
-; CHECK-NEXT: Field: __dso_handle
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: GlobalType: I32
-; CHECK-NEXT: GlobalMutable: false
-; CHECK-NEXT: - Module: env
; CHECK-NEXT: Field: __cxa_atexit
; CHECK-NEXT: Kind: FUNCTION
; CHECK-NEXT: SigIndex: 2
@@ -60,31 +55,6 @@ declare void @func3()
; CHECK-NEXT: SigIndex: 1
; CHECK-NEXT: - Type: FUNCTION
; CHECK-NEXT: FunctionTypes: [ 0, 1, 0, 1 ]
-; CHECK-NEXT: - Type: GLOBAL
-; CHECK-NEXT: Globals:
-; CHECK-NEXT: - Index: 1
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: false
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 0
-; CHECK-NEXT: - Type: EXPORT
-; CHECK-NEXT: Exports:
-; CHECK-NEXT: - Name: .Lcall_dtors.42
-; CHECK-NEXT: Kind: FUNCTION
-; CHECK-NEXT: Index: 5
-; CHECK-NEXT: - Name: .Lregister_call_dtors.42
-; CHECK-NEXT: Kind: FUNCTION
-; CHECK-NEXT: Index: 6
-; CHECK-NEXT: - Name: .Lcall_dtors
-; CHECK-NEXT: Kind: FUNCTION
-; CHECK-NEXT: Index: 7
-; CHECK-NEXT: - Name: .Lregister_call_dtors
-; CHECK-NEXT: Kind: FUNCTION
-; CHECK-NEXT: Index: 8
-; CHECK-NEXT: - Name: global1
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 1
; CHECK-NEXT: - Type: ELEM
; CHECK-NEXT: Segments:
; CHECK-NEXT: - Offset:
@@ -97,25 +67,25 @@ declare void @func3()
; CHECK-NEXT: Index: 0
; CHECK-NEXT: Offset: 0x00000004
; CHECK-NEXT: - Type: R_WEBASSEMBLY_TABLE_INDEX_SLEB
-; CHECK-NEXT: Index: 5
+; CHECK-NEXT: Index: 6
; CHECK-NEXT: Offset: 0x0000000F
; CHECK-NEXT: - Type: R_WEBASSEMBLY_MEMORY_ADDR_SLEB
-; CHECK-NEXT: Index: 0
+; CHECK-NEXT: Index: 1
; CHECK-NEXT: Offset: 0x00000017
; CHECK-NEXT: - Type: R_WEBASSEMBLY_FUNCTION_INDEX_LEB
-; CHECK-NEXT: Index: 1
+; CHECK-NEXT: Index: 2
; CHECK-NEXT: Offset: 0x0000001D
; CHECK-NEXT: - Type: R_WEBASSEMBLY_FUNCTION_INDEX_LEB
-; CHECK-NEXT: Index: 2
+; CHECK-NEXT: Index: 3
; CHECK-NEXT: Offset: 0x0000002C
; CHECK-NEXT: - Type: R_WEBASSEMBLY_TABLE_INDEX_SLEB
-; CHECK-NEXT: Index: 7
+; CHECK-NEXT: Index: 8
; CHECK-NEXT: Offset: 0x00000037
; CHECK-NEXT: - Type: R_WEBASSEMBLY_MEMORY_ADDR_SLEB
-; CHECK-NEXT: Index: 0
+; CHECK-NEXT: Index: 1
; CHECK-NEXT: Offset: 0x0000003F
; CHECK-NEXT: - Type: R_WEBASSEMBLY_FUNCTION_INDEX_LEB
-; CHECK-NEXT: Index: 1
+; CHECK-NEXT: Index: 2
; CHECK-NEXT: Offset: 0x00000045
; CHECK-NEXT: Functions:
; CHECK-NEXT: - Index: 5
@@ -141,17 +111,62 @@ declare void @func3()
; CHECK-NEXT: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: DataSize: 4
-; CHECK-NEXT: SymbolInfo:
-; CHECK-NEXT: - Name: __dso_handle
-; CHECK-NEXT: Flags: [ BINDING_WEAK, VISIBILITY_HIDDEN ]
-; CHECK-NEXT: - Name: .Lcall_dtors.42
+; CHECK-NEXT: SymbolTable:
+; CHECK-NEXT: - Index: 0
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: func3
+; CHECK-NEXT: Flags: [ UNDEFINED ]
+; CHECK-NEXT: Function: 0
+; CHECK-NEXT: - Index: 1
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: __dso_handle
+; CHECK-NEXT: Flags: [ BINDING_WEAK, VISIBILITY_HIDDEN, UNDEFINED ]
+; CHECK-NEXT: - Index: 2
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: __cxa_atexit
+; CHECK-NEXT: Flags: [ UNDEFINED ]
+; CHECK-NEXT: Function: 1
+; CHECK-NEXT: - Index: 3
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: func2
+; CHECK-NEXT: Flags: [ UNDEFINED ]
+; CHECK-NEXT: Function: 2
+; CHECK-NEXT: - Index: 4
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: func1
+; CHECK-NEXT: Flags: [ UNDEFINED ]
+; CHECK-NEXT: Function: 3
+; CHECK-NEXT: - Index: 5
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: func0
+; CHECK-NEXT: Flags: [ UNDEFINED ]
+; CHECK-NEXT: Function: 4
+; CHECK-NEXT: - Index: 6
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: .Lcall_dtors.42
; CHECK-NEXT: Flags: [ BINDING_LOCAL ]
-; CHECK-NEXT: - Name: .Lregister_call_dtors.42
+; CHECK-NEXT: Function: 5
+; CHECK-NEXT: - Index: 7
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: .Lregister_call_dtors.42
; CHECK-NEXT: Flags: [ BINDING_LOCAL ]
-; CHECK-NEXT: - Name: .Lcall_dtors
+; CHECK-NEXT: Function: 6
+; CHECK-NEXT: - Index: 8
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: .Lcall_dtors
; CHECK-NEXT: Flags: [ BINDING_LOCAL ]
-; CHECK-NEXT: - Name: .Lregister_call_dtors
+; CHECK-NEXT: Function: 7
+; CHECK-NEXT: - Index: 9
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: .Lregister_call_dtors
; CHECK-NEXT: Flags: [ BINDING_LOCAL ]
+; CHECK-NEXT: Function: 8
+; CHECK-NEXT: - Index: 10
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: global1
+; CHECK-NEXT: Flags: [ ]
+; CHECK-NEXT: Segment: 0
+; CHECK-NEXT: Size: 4
; CHECK-NEXT: SegmentInfo:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Name: .data.global1
@@ -159,11 +174,11 @@ declare void @func3()
; CHECK-NEXT: Flags: [ ]
; CHECK-NEXT: InitFunctions:
; CHECK-NEXT: - Priority: 42
-; CHECK-NEXT: FunctionIndex: 3
+; CHECK-NEXT: Symbol: 4
; CHECK-NEXT: - Priority: 42
-; CHECK-NEXT: FunctionIndex: 6
+; CHECK-NEXT: Symbol: 7
; CHECK-NEXT: - Priority: 65535
-; CHECK-NEXT: FunctionIndex: 4
+; CHECK-NEXT: Symbol: 5
; CHECK-NEXT: - Priority: 65535
-; CHECK-NEXT: FunctionIndex: 8
+; CHECK-NEXT: Symbol: 9
; CHECK-NEXT: ...
diff --git a/llvm/test/MC/WebAssembly/reloc-code.ll b/llvm/test/MC/WebAssembly/reloc-code.ll
index 757a733d963..bbb921392cc 100644
--- a/llvm/test/MC/WebAssembly/reloc-code.ll
+++ b/llvm/test/MC/WebAssembly/reloc-code.ll
@@ -24,17 +24,17 @@ entry:
; CHECK: Format: WASM
; CHECK: Relocations [
-; CHECK-NEXT: Section (6) CODE {
+; CHECK-NEXT: Section (4) CODE {
; CHECK-NEXT: Relocation {
; CHECK-NEXT: Type: R_WEBASSEMBLY_MEMORY_ADDR_LEB (3)
; CHECK-NEXT: Offset: 0x9
-; CHECK-NEXT: Index: 0x0
+; CHECK-NEXT: Index: 0x3
; CHECK-NEXT: Addend: 0
; CHECK-NEXT: }
; CHECK-NEXT: Relocation {
; CHECK-NEXT: Type: R_WEBASSEMBLY_MEMORY_ADDR_LEB (3)
; CHECK-NEXT: Offset: 0x14
-; CHECK-NEXT: Index: 0x1
+; CHECK-NEXT: Index: 0x4
; CHECK-NEXT: Addend: 0
; CHECK-NEXT: }
; CHECK-NEXT: Relocation {
diff --git a/llvm/test/MC/WebAssembly/reloc-data.ll b/llvm/test/MC/WebAssembly/reloc-data.ll
index 4debf091eee..bd17cc871e0 100644
--- a/llvm/test/MC/WebAssembly/reloc-data.ll
+++ b/llvm/test/MC/WebAssembly/reloc-data.ll
@@ -13,7 +13,7 @@ target triple = "wasm32-unknown-unknown-wasm"
; CHECK: Format: WASM
; CHECK: Relocations [
-; CHECK-NEXT: Section (4) DATA {
+; CHECK-NEXT: Section (2) DATA {
; CHECK-NEXT: Relocation {
; CHECK-NEXT: Type: R_WEBASSEMBLY_MEMORY_ADDR_I32 (5)
; CHECK-NEXT: Offset: 0x13
diff --git a/llvm/test/MC/WebAssembly/sections.ll b/llvm/test/MC/WebAssembly/sections.ll
index fa38555bcf6..a4ccec29bac 100644
--- a/llvm/test/MC/WebAssembly/sections.ll
+++ b/llvm/test/MC/WebAssembly/sections.ll
@@ -29,12 +29,6 @@ entry:
; CHECK: Type: FUNCTION (0x3)
; CHECK: }
; CHECK: Section {
-; CHECK: Type: GLOBAL (0x6)
-; CHECK: }
-; CHECK: Section {
-; CHECK: Type: EXPORT (0x7)
-; CHECK: }
-; CHECK: Section {
; CHECK: Type: CODE (0xA)
; CHECK: }
; CHECK: Section {
diff --git a/llvm/test/MC/WebAssembly/unnamed-data.ll b/llvm/test/MC/WebAssembly/unnamed-data.ll
index cc924648fd0..fe66543a7f3 100644
--- a/llvm/test/MC/WebAssembly/unnamed-data.ll
+++ b/llvm/test/MC/WebAssembly/unnamed-data.ll
@@ -9,47 +9,7 @@ target triple = "wasm32-unknown-unknown-wasm"
@b = global i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str2, i32 0, i32 0), align 8
-; CHECK: - Type: GLOBAL
-; CHECK-NEXT: Globals:
-; CHECK-NEXT: - Index: 0
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: false
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 0
-; CHECK-NEXT: - Index: 1
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: false
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 6
-; CHECK-NEXT: - Index: 2
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: false
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 16
-; CHECK-NEXT: - Index: 3
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: false
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 24
-; CHECK-NEXT: - Type: EXPORT
-; CHECK-NEXT: Exports:
-; CHECK-NEXT: - Name: .L.str1
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 0
-; CHECK-NEXT: - Name: .L.str2
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 1
-; CHECK-NEXT: - Name: a
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 2
-; CHECK-NEXT: - Name: b
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 3
-; CHECK-NEXT: - Type: DATA
+; CHECK: - Type: DATA
; CHECK-NEXT: Relocations:
; CHECK-NEXT: - Type: R_WEBASSEMBLY_MEMORY_ADDR_I32
; CHECK-NEXT: Index: 0
@@ -85,11 +45,31 @@ target triple = "wasm32-unknown-unknown-wasm"
; CHECK-NEXT: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: DataSize: 28
-; CHECK-NEXT: SymbolInfo:
-; CHECK-NEXT: - Name: .L.str1
+; CHECK-NEXT: SymbolTable:
+; CHECK-NEXT: - Index: 0
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: .L.str1
; CHECK-NEXT: Flags: [ BINDING_LOCAL ]
-; CHECK-NEXT: - Name: .L.str2
+; CHECK-NEXT: Segment: 0
+; CHECK-NEXT: Size: 6
+; CHECK-NEXT: - Index: 1
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: .L.str2
; CHECK-NEXT: Flags: [ BINDING_LOCAL ]
+; CHECK-NEXT: Segment: 1
+; CHECK-NEXT: Size: 6
+; CHECK-NEXT: - Index: 2
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: a
+; CHECK-NEXT: Flags: [ ]
+; CHECK-NEXT: Segment: 2
+; CHECK-NEXT: Size: 4
+; CHECK-NEXT: - Index: 3
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: b
+; CHECK-NEXT: Flags: [ ]
+; CHECK-NEXT: Segment: 3
+; CHECK-NEXT: Size: 4
; CHECK-NEXT: SegmentInfo:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Name: .rodata..L.str1
diff --git a/llvm/test/MC/WebAssembly/visibility.ll b/llvm/test/MC/WebAssembly/visibility.ll
index 8c26ef05f0d..6a024c5c964 100644
--- a/llvm/test/MC/WebAssembly/visibility.ll
+++ b/llvm/test/MC/WebAssembly/visibility.ll
@@ -17,7 +17,15 @@ entry:
; CHECK: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: DataSize: 0
-; CHECK-NEXT: SymbolInfo:
-; CHECK-NEXT: - Name: hiddenVis
+; CHECK-NEXT: SymbolTable:
+; CHECK-NEXT: - Index: 0
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: defaultVis
+; CHECK-NEXT: Flags: [ ]
+; CHECK-NEXT: Function: 0
+; CHECK-NEXT: - Index: 1
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: hiddenVis
; CHECK-NEXT: Flags: [ VISIBILITY_HIDDEN ]
+; CHECK-NEXT: Function: 1
; CHECK-NEXT: ...
diff --git a/llvm/test/MC/WebAssembly/weak-alias.ll b/llvm/test/MC/WebAssembly/weak-alias.ll
index 6036159bf11..c8a907b0941 100644
--- a/llvm/test/MC/WebAssembly/weak-alias.ll
+++ b/llvm/test/MC/WebAssembly/weak-alias.ll
@@ -65,118 +65,57 @@ entry:
; CHECK-NEXT: ElemType: ANYFUNC
; CHECK-NEXT: Limits:
; CHECK-NEXT: Initial: 0x00000001
-; CHECK-NEXT: - Module: env
-; CHECK-NEXT: Field: foo_alias
-; CHECK-NEXT: Kind: FUNCTION
-; CHECK-NEXT: SigIndex: 0
-; CHECK-NEXT: - Module: env
-; CHECK-NEXT: Field: bar_alias
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: GlobalType: I32
-; CHECK-NEXT: GlobalMutable: false
; CHECK-NEXT: - Type: FUNCTION
; CHECK-NEXT: FunctionTypes: [ 0, 0, 0, 0, 0 ]
-; CHECK-NEXT: - Type: GLOBAL
-; CHECK-NEXT: Globals:
-; CHECK-NEXT: - Index: 1
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: false
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 8
-; CHECK-NEXT: - Index: 2
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: false
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 16
-; CHECK-NEXT: - Index: 3
-; CHECK-NEXT: Type: I32
-; CHECK-NEXT: Mutable: false
-; CHECK-NEXT: InitExpr:
-; CHECK-NEXT: Opcode: I32_CONST
-; CHECK-NEXT: Value: 0
-; CHECK-NEXT: - Type: EXPORT
-; CHECK-NEXT: Exports:
-; CHECK-NEXT: - Name: foo
-; CHECK-NEXT: Kind: FUNCTION
-; CHECK-NEXT: Index: 1
-; CHECK-NEXT: - Name: call_direct
-; CHECK-NEXT: Kind: FUNCTION
-; CHECK-NEXT: Index: 2
-; CHECK-NEXT: - Name: call_alias
-; CHECK-NEXT: Kind: FUNCTION
-; CHECK-NEXT: Index: 3
-; CHECK-NEXT: - Name: call_direct_ptr
-; CHECK-NEXT: Kind: FUNCTION
-; CHECK-NEXT: Index: 4
-; CHECK-NEXT: - Name: direct_address
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 1
-; CHECK-NEXT: - Name: call_alias_ptr
-; CHECK-NEXT: Kind: FUNCTION
-; CHECK-NEXT: Index: 5
-; CHECK-NEXT: - Name: alias_address
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 2
-; CHECK-NEXT: - Name: bar
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 3
-; CHECK-NEXT: - Name: foo_alias
-; CHECK-NEXT: Kind: FUNCTION
-; CHECK-NEXT: Index: 1
-; CHECK-NEXT: - Name: bar_alias
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: Index: 3
; CHECK-NEXT: - Type: ELEM
; CHECK-NEXT: Segments:
; CHECK-NEXT: - Offset:
; CHECK-NEXT: Opcode: I32_CONST
; CHECK-NEXT: Value: 1
-; CHECK-NEXT: Functions: [ 1 ]
+; CHECK-NEXT: Functions: [ 0 ]
; CHECK-NEXT: - Type: CODE
; CHECK-NEXT: Relocations:
; CHECK-NEXT: - Type: R_WEBASSEMBLY_FUNCTION_INDEX_LEB
-; CHECK-NEXT: Index: 1
+; CHECK-NEXT: Index: 0
; CHECK-NEXT: Offset: 0x00000009
; CHECK-NEXT: - Type: R_WEBASSEMBLY_FUNCTION_INDEX_LEB
-; CHECK-NEXT: Index: 0
+; CHECK-NEXT: Index: 8
; CHECK-NEXT: Offset: 0x00000012
; CHECK-NEXT: - Type: R_WEBASSEMBLY_MEMORY_ADDR_LEB
-; CHECK-NEXT: Index: 1
+; CHECK-NEXT: Index: 4
; CHECK-NEXT: Offset: 0x0000001E
; CHECK-NEXT: - Type: R_WEBASSEMBLY_TYPE_INDEX_LEB
; CHECK-NEXT: Index: 0
; CHECK-NEXT: Offset: 0x00000024
; CHECK-NEXT: - Type: R_WEBASSEMBLY_MEMORY_ADDR_LEB
-; CHECK-NEXT: Index: 2
+; CHECK-NEXT: Index: 6
; CHECK-NEXT: Offset: 0x00000031
; CHECK-NEXT: - Type: R_WEBASSEMBLY_TYPE_INDEX_LEB
; CHECK-NEXT: Index: 0
; CHECK-NEXT: Offset: 0x00000037
; CHECK-NEXT: Functions:
-; CHECK-NEXT: - Index: 1
+; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Locals:
; CHECK-NEXT: Body: 41000B
-; CHECK-NEXT: - Index: 2
+; CHECK-NEXT: - Index: 1
; CHECK-NEXT: Locals:
-; CHECK-NEXT: Body: 1081808080000B
-; CHECK-NEXT: - Index: 3
+; CHECK-NEXT: Body: 1080808080000B
+; CHECK-NEXT: - Index: 2
; CHECK-NEXT: Locals:
; CHECK-NEXT: Body: 1080808080000B
-; CHECK-NEXT: - Index: 4
+; CHECK-NEXT: - Index: 3
; CHECK-NEXT: Locals:
; CHECK-NEXT: Body: 410028028880808000118080808000000B
-; CHECK-NEXT: - Index: 5
+; CHECK-NEXT: - Index: 4
; CHECK-NEXT: Locals:
; CHECK-NEXT: Body: 410028029080808000118080808000000B
; CHECK-NEXT: - Type: DATA
; CHECK-NEXT: Relocations:
; CHECK-NEXT: - Type: R_WEBASSEMBLY_TABLE_INDEX_I32
-; CHECK-NEXT: Index: 1
+; CHECK-NEXT: Index: 0
; CHECK-NEXT: Offset: 0x0000000F
; CHECK-NEXT: - Type: R_WEBASSEMBLY_TABLE_INDEX_I32
-; CHECK-NEXT: Index: 0
+; CHECK-NEXT: Index: 8
; CHECK-NEXT: Offset: 0x00000018
; CHECK-NEXT: Segments:
; CHECK-NEXT: - SectionOffset: 6
@@ -200,21 +139,61 @@ entry:
; CHECK-NEXT: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: DataSize: 20
-; CHECK-NEXT: SymbolInfo:
-; CHECK-NEXT: - Name: foo_alias
-; CHECK-NEXT: Flags: [ BINDING_WEAK, VISIBILITY_HIDDEN ]
-; CHECK-NEXT: - Name: bar_alias
-; CHECK-NEXT: Flags: [ BINDING_WEAK, VISIBILITY_HIDDEN ]
-; CHECK-NEXT: - Name: foo
+; CHECK-NEXT: SymbolTable:
+; CHECK-NEXT: - Index: 0
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: foo
; CHECK-NEXT: Flags: [ VISIBILITY_HIDDEN ]
-; CHECK-NEXT: - Name: call_direct
+; CHECK-NEXT: Function: 0
+; CHECK-NEXT: - Index: 1
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: call_direct
; CHECK-NEXT: Flags: [ VISIBILITY_HIDDEN ]
-; CHECK-NEXT: - Name: call_alias
+; CHECK-NEXT: Function: 1
+; CHECK-NEXT: - Index: 2
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: call_alias
; CHECK-NEXT: Flags: [ VISIBILITY_HIDDEN ]
-; CHECK-NEXT: - Name: call_direct_ptr
+; CHECK-NEXT: Function: 2
+; CHECK-NEXT: - Index: 3
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: call_direct_ptr
; CHECK-NEXT: Flags: [ VISIBILITY_HIDDEN ]
-; CHECK-NEXT: - Name: call_alias_ptr
+; CHECK-NEXT: Function: 3
+; CHECK-NEXT: - Index: 4
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: direct_address
+; CHECK-NEXT: Flags: [ ]
+; CHECK-NEXT: Segment: 1
+; CHECK-NEXT: Size: 4
+; CHECK-NEXT: - Index: 5
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: call_alias_ptr
; CHECK-NEXT: Flags: [ VISIBILITY_HIDDEN ]
+; CHECK-NEXT: Function: 4
+; CHECK-NEXT: - Index: 6
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: alias_address
+; CHECK-NEXT: Flags: [ ]
+; CHECK-NEXT: Segment: 2
+; CHECK-NEXT: Size: 4
+; CHECK-NEXT: - Index: 7
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: bar
+; CHECK-NEXT: Flags: [ ]
+; CHECK-NEXT: Segment: 0
+; CHECK-NEXT: Size: 4
+; CHECK-NEXT: - Index: 8
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: foo_alias
+; CHECK-NEXT: Flags: [ BINDING_WEAK, VISIBILITY_HIDDEN ]
+; CHECK-NEXT: Function: 0
+; CHECK-NEXT: - Index: 9
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: bar_alias
+; CHECK-NEXT: Flags: [ BINDING_WEAK, VISIBILITY_HIDDEN ]
+; CHECK-NEXT: Segment: 0
+; CHECK-NEXT: Size: 4
; CHECK-NEXT: SegmentInfo:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Name: .data.bar
@@ -231,13 +210,13 @@ entry:
; CHECK-NEXT: ...
; CHECK-SYMS: SYMBOL TABLE:
-; CHECK-SYMS-NEXT: 00000001 gw F CODE .hidden foo_alias
-; CHECK-SYMS-NEXT: 00000000 gw DATA .hidden bar_alias
-; CHECK-SYMS-NEXT: 00000001 g F CODE .hidden foo
-; CHECK-SYMS-NEXT: 00000002 g F CODE .hidden call_direct
-; CHECK-SYMS-NEXT: 00000003 g F CODE .hidden call_alias
-; CHECK-SYMS-NEXT: 00000004 g F CODE .hidden call_direct_ptr
+; CHECK-SYMS-NEXT: 00000000 g F CODE .hidden foo
+; CHECK-SYMS-NEXT: 00000001 g F CODE .hidden call_direct
+; CHECK-SYMS-NEXT: 00000002 g F CODE .hidden call_alias
+; CHECK-SYMS-NEXT: 00000003 g F CODE .hidden call_direct_ptr
; CHECK-SYMS-NEXT: 00000008 g DATA direct_address
-; CHECK-SYMS-NEXT: 00000005 g F CODE .hidden call_alias_ptr
+; CHECK-SYMS-NEXT: 00000004 g F CODE .hidden call_alias_ptr
; CHECK-SYMS-NEXT: 00000010 g DATA alias_address
; CHECK-SYMS-NEXT: 00000000 g DATA bar
+; CHECK-SYMS-NEXT: 00000000 gw F CODE .hidden foo_alias
+; CHECK-SYMS-NEXT: 00000000 gw DATA .hidden bar_alias
diff --git a/llvm/test/MC/WebAssembly/weak.ll b/llvm/test/MC/WebAssembly/weak.ll
index e23f3ccf68c..5d8369fca5b 100644
--- a/llvm/test/MC/WebAssembly/weak.ll
+++ b/llvm/test/MC/WebAssembly/weak.ll
@@ -18,19 +18,19 @@ entry:
; CHECK-NEXT: Field: __linear_memory
; CHECK: - Module: env
; CHECK-NEXT: Field: __indirect_function_table
-; CHECK: - Module: env
-; CHECK-NEXT: Field: weak_external_data
-; CHECK-NEXT: Kind: GLOBAL
-; CHECK-NEXT: GlobalType: I32
-; CHECK-NEXT: GlobalMutable: false
; CHECK: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: DataSize: 0
-; CHECK-NEXT: SymbolInfo:
-; CHECK-NEXT: - Name: weak_external_data
-; CHECK-NEXT: Flags: [ BINDING_WEAK ]
-; CHECK-NEXT: - Name: weak_function
+; CHECK-NEXT: SymbolTable:
+; CHECK-NEXT: - Index: 0
+; CHECK-NEXT: Kind: DATA
+; CHECK-NEXT: Name: weak_external_data
+; CHECK-NEXT: Flags: [ BINDING_WEAK, UNDEFINED ]
+; CHECK-NEXT: - Index: 1
+; CHECK-NEXT: Kind: FUNCTION
+; CHECK-NEXT: Name: weak_function
; CHECK-NEXT: Flags: [ BINDING_WEAK, VISIBILITY_HIDDEN ]
+; CHECK-NEXT: Function: 0
; CHECK-NEXT: ...
OpenPOWER on IntegriCloud