diff options
author | Sam Clegg <sbc@chromium.org> | 2017-09-20 19:03:35 +0000 |
---|---|---|
committer | Sam Clegg <sbc@chromium.org> | 2017-09-20 19:03:35 +0000 |
commit | d95ed959d8ab270808aeec8b31f06140e68834ea (patch) | |
tree | 989216a22660bb777d0fcff71cbc4540067b80ed /llvm/test | |
parent | 01a409520b39946bd4c7e86f83bc2d01d8c839d4 (diff) | |
download | bcm5719-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.ll | 14 | ||||
-rw-r--r-- | llvm/test/MC/WebAssembly/bss.ll | 20 | ||||
-rw-r--r-- | llvm/test/MC/WebAssembly/explicit-sections.ll | 13 | ||||
-rw-r--r-- | llvm/test/MC/WebAssembly/unnamed-data.ll | 9 | ||||
-rw-r--r-- | llvm/test/MC/WebAssembly/weak-alias.ll | 5 | ||||
-rw-r--r-- | llvm/test/tools/llvm-readobj/sections.test | 6 |
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) |