summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorSam Clegg <sbc@chromium.org>2017-09-20 19:03:35 +0000
committerSam Clegg <sbc@chromium.org>2017-09-20 19:03:35 +0000
commitd95ed959d8ab270808aeec8b31f06140e68834ea (patch)
tree989216a22660bb777d0fcff71cbc4540067b80ed /llvm/test
parent01a409520b39946bd4c7e86f83bc2d01d8c839d4 (diff)
downloadbcm5719-llvm-d95ed959d8ab270808aeec8b31f06140e68834ea.tar.gz
bcm5719-llvm-d95ed959d8ab270808aeec8b31f06140e68834ea.zip
Reland "[WebAssembly] Add support for naming wasm data segments"
Add adds support for naming data segments. This is useful useful linkers so that they can merge similar sections. Differential Revision: https://reviews.llvm.org/D37886 llvm-svn: 313795
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/MC/WebAssembly/array-fill.ll14
-rw-r--r--llvm/test/MC/WebAssembly/bss.ll20
-rw-r--r--llvm/test/MC/WebAssembly/explicit-sections.ll13
-rw-r--r--llvm/test/MC/WebAssembly/unnamed-data.ll9
-rw-r--r--llvm/test/MC/WebAssembly/weak-alias.ll5
-rw-r--r--llvm/test/tools/llvm-readobj/sections.test6
6 files changed, 64 insertions, 3 deletions
diff --git a/llvm/test/MC/WebAssembly/array-fill.ll b/llvm/test/MC/WebAssembly/array-fill.ll
index 4feabc0748e..38274c34305 100644
--- a/llvm/test/MC/WebAssembly/array-fill.ll
+++ b/llvm/test/MC/WebAssembly/array-fill.ll
@@ -9,6 +9,14 @@ target triple = "wasm32-unknown-unknown-wasm"
@gBd = hidden global [2 x %struct.bd] [%struct.bd { i8 1 }, %struct.bd { i8 2 }], align 1
-; CHECK: - Type: DATA
-; CHECK: Content: '0102'
-; CHECK: DataSize: 2
+; CHECK: - Type: DATA
+; CHECK: Content: '0102'
+
+; CHECK: - Type: CUSTOM
+; CHECK-NEXT: Name: linking
+; CHECK-NEXT: DataSize: 2
+; CHECK-NEXT: DataAlignment: 1
+; CHECK-NEXT: SegmentNames:
+; CHECK-NEXT: - Index: 0
+; CHECK-NEXT: Name: .data
+; CHECK-NEXT: ...
diff --git a/llvm/test/MC/WebAssembly/bss.ll b/llvm/test/MC/WebAssembly/bss.ll
new file mode 100644
index 00000000000..d203efad19b
--- /dev/null
+++ b/llvm/test/MC/WebAssembly/bss.ll
@@ -0,0 +1,20 @@
+; RUN: llc -mtriple wasm32-unknown-unknown-wasm -filetype=obj %s -o - | obj2yaml | FileCheck %s
+
+@g0 = global i8* null, align 4
+
+; CHECK: - Type: DATA
+; CHECK-NEXT: Segments:
+; CHECK-NEXT: - SectionOffset: 6
+; CHECK-NEXT: MemoryIndex: 0
+; CHECK-NEXT: Offset:
+; CHECK-NEXT: Opcode: I32_CONST
+; CHECK-NEXT: Value: 0
+; CHECK-NEXT: Content: '00000000'
+; CHECK-NEXT: - Type: CUSTOM
+; CHECK-NEXT: Name: linking
+; CHECK-NEXT: DataSize: 4
+; CHECK-NEXT: DataAlignment: 4
+; CHECK-NEXT: SegmentNames:
+; CHECK-NEXT: - Index: 0
+; CHECK-NEXT: Name: .bss.g0
+; CHECK-NEXT: ...
diff --git a/llvm/test/MC/WebAssembly/explicit-sections.ll b/llvm/test/MC/WebAssembly/explicit-sections.ll
index e9607242252..a8342b62818 100644
--- a/llvm/test/MC/WebAssembly/explicit-sections.ll
+++ b/llvm/test/MC/WebAssembly/explicit-sections.ll
@@ -63,3 +63,16 @@
; CHECK-NEXT: Opcode: I32_CONST
; CHECK-NEXT: Value: 24
; CHECK-NEXT: Content: '08000000'
+
+; CHECK: - Type: CUSTOM
+; CHECK-NEXT: Name: linking
+; CHECK-NEXT: DataSize: 28
+; CHECK-NEXT: DataAlignment: 8
+; CHECK-NEXT: SegmentNames:
+; CHECK-NEXT: - Index: 0
+; CHECK-NEXT: Name: .data.global0
+; CHECK-NEXT: - Index: 1
+; CHECK-NEXT: Name: .sec1
+; CHECK-NEXT: - Index: 2
+; CHECK-NEXT: Name: .sec2
+; CHECK-NEXT: ...
diff --git a/llvm/test/MC/WebAssembly/unnamed-data.ll b/llvm/test/MC/WebAssembly/unnamed-data.ll
index b5f6d3c524c..a484913e289 100644
--- a/llvm/test/MC/WebAssembly/unnamed-data.ll
+++ b/llvm/test/MC/WebAssembly/unnamed-data.ll
@@ -74,4 +74,13 @@
; CHECK-NEXT: Name: linking
; CHECK-NEXT: DataSize: 28
; CHECK-NEXT: DataAlignment: 8
+; CHECK-NEXT: SegmentNames:
+; CHECK-NEXT: - Index: 0
+; CHECK-NEXT: Name: .rodata..L.str1
+; CHECK-NEXT: - Index: 1
+; CHECK-NEXT: Name: .rodata..L.str2
+; CHECK-NEXT: - Index: 2
+; CHECK-NEXT: Name: .data.a
+; CHECK-NEXT: - Index: 3
+; CHECK-NEXT: Name: .data.b
; CHECK-NEXT: ...
diff --git a/llvm/test/MC/WebAssembly/weak-alias.ll b/llvm/test/MC/WebAssembly/weak-alias.ll
index 79c597bc09a..2beef846def 100644
--- a/llvm/test/MC/WebAssembly/weak-alias.ll
+++ b/llvm/test/MC/WebAssembly/weak-alias.ll
@@ -101,4 +101,9 @@ entry:
; CHECK-NEXT: Flags: 1
; CHECK-NEXT: - Name: bar_alias
; CHECK-NEXT: Flags: 1
+; CHECK-NEXT: SegmentNames:
+; CHECK-NEXT: - Index: 0
+; CHECK-NEXT: Name: .data.bar
+; CHECK-NEXT: - Index: 1
+; CHECK-NEXT: Name: .data.bar_alias_address
; CHECK-NEXT: ...
diff --git a/llvm/test/tools/llvm-readobj/sections.test b/llvm/test/tools/llvm-readobj/sections.test
index 4eda5dae882..ac1eca535fc 100644
--- a/llvm/test/tools/llvm-readobj/sections.test
+++ b/llvm/test/tools/llvm-readobj/sections.test
@@ -543,6 +543,12 @@ WASM-NEXT: Section {
WASM-NEXT: Type: DATA (0xB)
WASM-NEXT: Size: 19
WASM-NEXT: Offset: 154
+WASM-NEXT: Segments [
+WASM-NEXT: Segment {
+WASM-NEXT: Size: 13
+WASM-NEXT: Offset: 0
+WASM-NEXT: }
+WASM-NEXT: ]
WASM-NEXT: }
WASM-NEXT: Section {
WASM-NEXT: Type: CUSTOM (0x0)
OpenPOWER on IntegriCloud