summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/WebAssembly/init-flags.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/MC/WebAssembly/init-flags.ll')
-rw-r--r--llvm/test/MC/WebAssembly/init-flags.ll25
1 files changed, 25 insertions, 0 deletions
diff --git a/llvm/test/MC/WebAssembly/init-flags.ll b/llvm/test/MC/WebAssembly/init-flags.ll
new file mode 100644
index 00000000000..a5d2662436e
--- /dev/null
+++ b/llvm/test/MC/WebAssembly/init-flags.ll
@@ -0,0 +1,25 @@
+; RUN: llc -filetype=obj %s -thread-model=single -o - | obj2yaml | FileCheck %s --check-prefix=SINGLE
+; RUN: llc -filetype=obj %s -thread-model=posix -o - | obj2yaml | FileCheck %s --check-prefix=THREADS
+
+; Test that setting thread-model=posix causes data segments to be
+; emitted as passive segments (i.e. have InitFlags set to 1).
+
+target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128"
+target triple = "wasm32-unknown-unknown"
+
+@str = private unnamed_addr constant [7 x i8] c"Hello!\00", align 1
+
+; SINGLE: - Type: DATA
+; SINGLE-NEXT: Segments:
+; SINGLE-NEXT: - SectionOffset: 6
+; SINGLE-NEXT: InitFlags: 0
+; SINGLE-NEXT: Offset:
+; SINGLE-NEXT: Opcode: I32_CONST
+; SINGLE-NEXT: Value: 0
+; SINGLE-NEXT: Content: 48656C6C6F2100
+
+; THREADS: - Type: DATA
+; THREADS-NEXT: Segments:
+; THREADS-NEXT: - SectionOffset: 3
+; THREADS-NEXT: InitFlags: 1
+; THREADS-NEXT: Content: 48656C6C6F2100
OpenPOWER on IntegriCloud