Changeset View
Changeset View
Standalone View
Standalone View
lld/test/wasm/data-segment-merging.ll
Show All 22 Lines | |||||
; MERGE-NEXT: InitFlags: 0 | ; MERGE-NEXT: InitFlags: 0 | ||||
; MERGE-NEXT: Offset: | ; MERGE-NEXT: Offset: | ||||
; MERGE: Content: 636F6E7374616E74000000002B | ; MERGE: Content: 636F6E7374616E74000000002B | ||||
; MERGE-NEXT: - Type: CUSTOM | ; MERGE-NEXT: - Type: CUSTOM | ||||
; MERGE-NEXT: Name: name | ; MERGE-NEXT: Name: name | ||||
; MERGE-NEXT: FunctionNames: | ; MERGE-NEXT: FunctionNames: | ||||
; MERGE-NEXT: - Index: 0 | ; MERGE-NEXT: - Index: 0 | ||||
; MERGE-NEXT: Name: __wasm_call_ctors | ; MERGE-NEXT: Name: __wasm_call_ctors | ||||
; MERGE-NEXT: - Index: 1 | |||||
; MERGE-NEXT: Name: __wasm_init_tls | |||||
sbc100: Again, can we avoid creating this completely for non-threaded builds? | |||||
; MERGE-NOT: - Index: | ; MERGE-NOT: - Index: | ||||
; RUN: wasm-ld -no-gc-sections --no-entry --no-merge-data-segments -o %t.separate.wasm %t.o | ; RUN: wasm-ld -no-gc-sections --no-entry --no-merge-data-segments -o %t.separate.wasm %t.o | ||||
; RUN: obj2yaml %t.separate.wasm | FileCheck %s --check-prefix=SEPARATE | ; RUN: obj2yaml %t.separate.wasm | FileCheck %s --check-prefix=SEPARATE | ||||
; SEPARATE-NOT: DATACOUNT | ; SEPARATE-NOT: DATACOUNT | ||||
; SEPARATE-LABEL: - Type: DATA | ; SEPARATE-LABEL: - Type: DATA | ||||
; SEPARATE-NEXT: Segments: | ; SEPARATE-NEXT: Segments: | ||||
Show All 21 Lines | |||||
; SEPARATE-NEXT: InitFlags: 0 | ; SEPARATE-NEXT: InitFlags: 0 | ||||
; SEPARATE-NEXT: Offset: | ; SEPARATE-NEXT: Offset: | ||||
; SEPARATE: Content: 2B | ; SEPARATE: Content: 2B | ||||
; SEPARATE-NEXT: - Type: CUSTOM | ; SEPARATE-NEXT: - Type: CUSTOM | ||||
; SEPARATE-NEXT: Name: name | ; SEPARATE-NEXT: Name: name | ||||
; SEPARATE-NEXT: FunctionNames: | ; SEPARATE-NEXT: FunctionNames: | ||||
; SEPARATE-NEXT: - Index: 0 | ; SEPARATE-NEXT: - Index: 0 | ||||
; SEPARATE-NEXT: Name: __wasm_call_ctors | ; SEPARATE-NEXT: Name: __wasm_call_ctors | ||||
; SEPARATE-NEXT: - Index: 1 | |||||
; SEPARATE-NEXT: Name: __wasm_init_tls | |||||
; SEPARATE-NOT: - Index: | ; SEPARATE-NOT: - Index: | ||||
; RUN: wasm-ld -no-gc-sections --no-entry --passive-segments -o %t.merged.passive.wasm %t.o | ; RUN: wasm-ld -no-gc-sections --no-entry --passive-segments -o %t.merged.passive.wasm %t.o | ||||
; RUN: obj2yaml %t.merged.passive.wasm | FileCheck %s --check-prefix=PASSIVE-MERGE | ; RUN: obj2yaml %t.merged.passive.wasm | FileCheck %s --check-prefix=PASSIVE-MERGE | ||||
; PASSIVE-MERGE-LABEL: - Type: DATACOUNT | ; PASSIVE-MERGE-LABEL: - Type: DATACOUNT | ||||
; PASSIVE-MERGE-NEXT: Count: 2 | ; PASSIVE-MERGE-NEXT: Count: 2 | ||||
; PASSIVE-MERGE-LABEL: - Type: DATA | ; PASSIVE-MERGE-LABEL: - Type: DATA | ||||
; PASSIVE-MERGE-NEXT: Segments: | ; PASSIVE-MERGE-NEXT: Segments: | ||||
; PASSIVE-MERGE-NEXT: - SectionOffset: 3 | ; PASSIVE-MERGE-NEXT: - SectionOffset: 3 | ||||
; PASSIVE-MERGE-NEXT: InitFlags: 1 | ; PASSIVE-MERGE-NEXT: InitFlags: 1 | ||||
; PASSIVE-MERGE-NEXT: Content: 68656C6C6F00676F6F6462796500776861746576657200002A000000 | ; PASSIVE-MERGE-NEXT: Content: 68656C6C6F00676F6F6462796500776861746576657200002A000000 | ||||
; PASSIVE-MERGE-NEXT: - SectionOffset: 33 | ; PASSIVE-MERGE-NEXT: - SectionOffset: 33 | ||||
; PASSIVE-MERGE-NEXT: InitFlags: 1 | ; PASSIVE-MERGE-NEXT: InitFlags: 1 | ||||
; PASSIVE-MERGE-NEXT: Content: 636F6E7374616E74000000002B | ; PASSIVE-MERGE-NEXT: Content: 636F6E7374616E74000000002B | ||||
; PASSIVE-MERGE-NEXT: - Type: CUSTOM | ; PASSIVE-MERGE-NEXT: - Type: CUSTOM | ||||
; PASSIVE-MERGE-NEXT: Name: name | ; PASSIVE-MERGE-NEXT: Name: name | ||||
; PASSIVE-MERGE-NEXT: FunctionNames: | ; PASSIVE-MERGE-NEXT: FunctionNames: | ||||
; PASSIVE-MERGE-NEXT: - Index: 0 | ; PASSIVE-MERGE-NEXT: - Index: 0 | ||||
; PASSIVE-MERGE-NEXT: Name: __wasm_call_ctors | ; PASSIVE-MERGE-NEXT: Name: __wasm_call_ctors | ||||
; PASSIVE-MERGE-NEXT: - Index: 1 | ; PASSIVE-MERGE-NEXT: - Index: 1 | ||||
; PASSIVE-MERGE-NEXT: Name: __wasm_init_memory | ; PASSIVE-MERGE-NEXT: Name: __wasm_init_memory | ||||
; PASSIVE-MERGE-NEXT: - Index: 2 | |||||
; PASSIVE-MERGE-NEXT: Name: __wasm_init_tls | |||||
; PASSIVE-MERGE-NOT: - Index: | ; PASSIVE-MERGE-NOT: - Index: | ||||
; RUN: wasm-ld -no-gc-sections --no-entry --passive-segments -no-merge-data-segments -o %t.separate.passive.wasm %t.o | ; RUN: wasm-ld -no-gc-sections --no-entry --passive-segments -no-merge-data-segments -o %t.separate.passive.wasm %t.o | ||||
; RUN: obj2yaml %t.separate.passive.wasm | FileCheck %s --check-prefix=PASSIVE-SEPARATE | ; RUN: obj2yaml %t.separate.passive.wasm | FileCheck %s --check-prefix=PASSIVE-SEPARATE | ||||
; PASSIVE-SEPARATE-LABEL: - Type: DATACOUNT | ; PASSIVE-SEPARATE-LABEL: - Type: DATACOUNT | ||||
; PASSIVE-SEPARATE-NEXT: Count: 6 | ; PASSIVE-SEPARATE-NEXT: Count: 6 | ||||
; PASSIVE-SEPARATE-LABEL: - Type: DATA | ; PASSIVE-SEPARATE-LABEL: - Type: DATA | ||||
Show All 18 Lines | |||||
; PASSIVE-SEPARATE-NEXT: Content: 2B | ; PASSIVE-SEPARATE-NEXT: Content: 2B | ||||
; PASSIVE-SEPARATE-NEXT: - Type: CUSTOM | ; PASSIVE-SEPARATE-NEXT: - Type: CUSTOM | ||||
; PASSIVE-SEPARATE-NEXT: Name: name | ; PASSIVE-SEPARATE-NEXT: Name: name | ||||
; PASSIVE-SEPARATE-NEXT: FunctionNames: | ; PASSIVE-SEPARATE-NEXT: FunctionNames: | ||||
; PASSIVE-SEPARATE-NEXT: - Index: 0 | ; PASSIVE-SEPARATE-NEXT: - Index: 0 | ||||
; PASSIVE-SEPARATE-NEXT: Name: __wasm_call_ctors | ; PASSIVE-SEPARATE-NEXT: Name: __wasm_call_ctors | ||||
; PASSIVE-SEPARATE-NEXT: - Index: 1 | ; PASSIVE-SEPARATE-NEXT: - Index: 1 | ||||
; PASSIVE-SEPARATE-NEXT: Name: __wasm_init_memory | ; PASSIVE-SEPARATE-NEXT: Name: __wasm_init_memory | ||||
; PASSIVE-SEPARATE-NEXT: - Index: 2 | |||||
; PASSIVE-SEPARATE-NEXT: Name: __wasm_init_tls | |||||
; PASSIVE-SEPARATE-NOT: - Index | ; PASSIVE-SEPARATE-NOT: - Index |
Again, can we avoid creating this completely for non-threaded builds?