[WebAssembly] Allow each data segment to specify its own alignment

Also, add a flags field as we will almost certainly
be needing that soon too.

Differential Revision: https://reviews.llvm.org/D38296

llvm-svn: 314534
diff --git a/llvm/test/MC/WebAssembly/array-fill.ll b/llvm/test/MC/WebAssembly/array-fill.ll
index 38274c3..e2f337a 100644
--- a/llvm/test/MC/WebAssembly/array-fill.ll
+++ b/llvm/test/MC/WebAssembly/array-fill.ll
@@ -15,8 +15,9 @@
 ; CHECK:        - Type:            CUSTOM
 ; CHECK-NEXT:     Name:            linking
 ; CHECK-NEXT:     DataSize:        2
-; CHECK-NEXT:     DataAlignment:   1
-; CHECK-NEXT:     SegmentNames:    
+; CHECK-NEXT:     SegmentInfo:    
 ; CHECK-NEXT:       - Index:           0
 ; CHECK-NEXT:         Name:            .data
+; CHECK-NEXT:         Alignment:       1
+; CHECK-NEXT:         Flags:           0
 ; CHECK-NEXT: ...
diff --git a/llvm/test/MC/WebAssembly/bss.ll b/llvm/test/MC/WebAssembly/bss.ll
index d203efa..d975fa7 100644
--- a/llvm/test/MC/WebAssembly/bss.ll
+++ b/llvm/test/MC/WebAssembly/bss.ll
@@ -13,8 +13,9 @@
 ; CHECK-NEXT:   - Type:            CUSTOM
 ; CHECK-NEXT:     Name:            linking
 ; CHECK-NEXT:     DataSize:        4
-; CHECK-NEXT:     DataAlignment:   4
-; CHECK-NEXT:     SegmentNames:    
+; CHECK-NEXT:     SegmentInfo:    
 ; CHECK-NEXT:       - Index:           0
 ; CHECK-NEXT:         Name:            .bss.g0
+; CHECK-NEXT:         Alignment:       4
+; CHECK-NEXT:         Flags:           0
 ; CHECK-NEXT: ...
diff --git a/llvm/test/MC/WebAssembly/explicit-sections.ll b/llvm/test/MC/WebAssembly/explicit-sections.ll
index a8342b6..876adf0 100644
--- a/llvm/test/MC/WebAssembly/explicit-sections.ll
+++ b/llvm/test/MC/WebAssembly/explicit-sections.ll
@@ -67,12 +67,17 @@
 ; CHECK:        - Type:            CUSTOM
 ; CHECK-NEXT:     Name:            linking
 ; CHECK-NEXT:     DataSize:        28
-; CHECK-NEXT:     DataAlignment:   8
-; CHECK-NEXT:     SegmentNames:    
+; CHECK-NEXT:     SegmentInfo:    
 ; CHECK-NEXT:       - Index:           0
 ; CHECK-NEXT:         Name:            .data.global0
+; CHECK-NEXT:         Alignment:       8
+; CHECK-NEXT:         Flags:           0
 ; CHECK-NEXT:       - Index:           1
 ; CHECK-NEXT:         Name:            .sec1
+; CHECK-NEXT:         Alignment:       8
+; CHECK-NEXT:         Flags:           0
 ; CHECK-NEXT:       - Index:           2
 ; CHECK-NEXT:         Name:            .sec2
+; CHECK-NEXT:         Alignment:       8
+; CHECK-NEXT:         Flags:           0
 ; CHECK-NEXT: ...
diff --git a/llvm/test/MC/WebAssembly/unnamed-data.ll b/llvm/test/MC/WebAssembly/unnamed-data.ll
index 32526c2d..88b3910 100644
--- a/llvm/test/MC/WebAssembly/unnamed-data.ll
+++ b/llvm/test/MC/WebAssembly/unnamed-data.ll
@@ -79,19 +79,26 @@
 ; CHECK-NEXT:   - Type:            CUSTOM
 ; CHECK-NEXT:     Name:            linking
 ; CHECK-NEXT:     DataSize:        28
-; CHECK-NEXT:     DataAlignment:   8
 ; CHECK-NEXT:     SymbolInfo:      
 ; CHECK-NEXT:       - Name:            .L.str1
 ; CHECK-NEXT:         Flags:           2
 ; CHECK-NEXT:       - Name:            .L.str2
 ; CHECK-NEXT:         Flags:           2
-; CHECK-NEXT:     SegmentNames:    
+; CHECK-NEXT:     SegmentInfo:    
 ; CHECK-NEXT:       - Index:       0
 ; CHECK-NEXT:         Name:        .rodata..L.str1
+; CHECK-NEXT:         Alignment:   1
+; CHECK-NEXT:         Flags:       0
 ; CHECK-NEXT:       - Index:       1
 ; CHECK-NEXT:         Name:        .rodata..L.str2
+; CHECK-NEXT:         Alignment:   1
+; CHECK-NEXT:         Flags:       0
 ; CHECK-NEXT:       - Index:       2
 ; CHECK-NEXT:         Name:        .data.a
+; CHECK-NEXT:         Alignment:   8
+; CHECK-NEXT:         Flags:       0
 ; CHECK-NEXT:       - Index:       3
 ; CHECK-NEXT:         Name:        .data.b
+; CHECK-NEXT:         Alignment:   8
+; CHECK-NEXT:         Flags:       0
 ; CHECK_NEXT:   ...
diff --git a/llvm/test/MC/WebAssembly/weak-alias.ll b/llvm/test/MC/WebAssembly/weak-alias.ll
index bdaaef7..01ec201 100644
--- a/llvm/test/MC/WebAssembly/weak-alias.ll
+++ b/llvm/test/MC/WebAssembly/weak-alias.ll
@@ -101,17 +101,20 @@
 ; CHECK-NEXT:   - Type:            CUSTOM
 ; CHECK-NEXT:     Name:            linking
 ; CHECK-NEXT:     DataSize:        12
-; CHECK-NEXT:     DataAlignment:   8
 ; CHECK-NEXT:     SymbolInfo:      
 ; CHECK-NEXT:       - Name:            foo_alias
 ; CHECK-NEXT:         Flags:           1
 ; CHECK-NEXT:       - Name:            bar_alias
 ; CHECK-NEXT:         Flags:           1
-; CHECK-NEXT:     SegmentNames:    
+; CHECK-NEXT:     SegmentInfo:    
 ; CHECK-NEXT:       - Index:           0
 ; CHECK-NEXT:         Name:            .data.bar
+; CHECK-NEXT:         Alignment:       8
+; CHECK-NEXT:         Flags:           0
 ; CHECK-NEXT:       - Index:           1
 ; CHECK-NEXT:         Name:            .data.bar_alias_address
+; CHECK-NEXT:         Alignment:       8
+; CHECK-NEXT:         Flags:           0
 ; CHECK-NEXT: ...
 
 ; CHECK-SYMS: SYMBOL TABLE:
diff --git a/llvm/test/MC/WebAssembly/weak.ll b/llvm/test/MC/WebAssembly/weak.ll
index 1bc06fe..b01c501 100644
--- a/llvm/test/MC/WebAssembly/weak.ll
+++ b/llvm/test/MC/WebAssembly/weak.ll
@@ -27,7 +27,6 @@
 ; CHECK-NEXT:   - Type:            CUSTOM
 ; CHECK-NEXT:     Name:            linking
 ; CHECK-NEXT:     DataSize:        0
-; CHECK-NEXT:     DataAlignment:   0
 ; CHECK-NEXT:     SymbolInfo:      
 ; CHECK-NEXT:       - Name:            weak_external_data
 ; CHECK-NEXT:         Flags:           1
diff --git a/llvm/test/ObjectYAML/wasm/weak_symbols.yaml b/llvm/test/ObjectYAML/wasm/weak_symbols.yaml
index ab80c1e..d821b34 100644
--- a/llvm/test/ObjectYAML/wasm/weak_symbols.yaml
+++ b/llvm/test/ObjectYAML/wasm/weak_symbols.yaml
@@ -27,7 +27,6 @@
   - Type:            CUSTOM
     Name:            linking
     DataSize:        10
-    DataAlignment:   2
     SymbolInfo:
       - Name:            function_export
         Flags:           1
@@ -49,7 +48,6 @@
 # CHECK:   - Type:            CUSTOM
 # CHECK:     Name:            linking
 # CHECK:     DataSize:        10
-# CHECK:     DataAlignment:   2
 # CHECK:     SymbolInfo:
 # CHECK:       - Name:            function_export
 # CHECK:         Flags:           1
diff --git a/llvm/test/tools/llvm-nm/wasm/exports.yaml b/llvm/test/tools/llvm-nm/wasm/exports.yaml
index dffe4e3..ad31fea 100644
--- a/llvm/test/tools/llvm-nm/wasm/exports.yaml
+++ b/llvm/test/tools/llvm-nm/wasm/exports.yaml
@@ -53,7 +53,6 @@
   - Type:            CUSTOM
     Name:            "linking"
     DataSize:        0
-    DataAlignment:   0
 
 # CHECK:      00000400 D bar
 # CHECK-NEXT:          U fimport
diff --git a/llvm/test/tools/llvm-nm/wasm/imports.yaml b/llvm/test/tools/llvm-nm/wasm/imports.yaml
index bf2005b..82be0a6 100644
--- a/llvm/test/tools/llvm-nm/wasm/imports.yaml
+++ b/llvm/test/tools/llvm-nm/wasm/imports.yaml
@@ -23,7 +23,6 @@
   - Type:            CUSTOM
     Name:            "linking"
     DataSize:        0
-    DataAlignment:   0
 
 # CHECK:    U bar
 # CHECK:    U foo
diff --git a/llvm/test/tools/llvm-nm/wasm/weak-symbols.yaml b/llvm/test/tools/llvm-nm/wasm/weak-symbols.yaml
index 109b158..0500c2d 100644
--- a/llvm/test/tools/llvm-nm/wasm/weak-symbols.yaml
+++ b/llvm/test/tools/llvm-nm/wasm/weak-symbols.yaml
@@ -53,7 +53,6 @@
   - Type:            CUSTOM
     Name:            linking
     DataSize:        0
-    DataAlignment:   2
     SymbolInfo:
       - Name:            weak_global_func
         Flags:           1
diff --git a/llvm/test/tools/llvm-readobj/sections.test b/llvm/test/tools/llvm-readobj/sections.test
index ac1eca53..015c950 100644
--- a/llvm/test/tools/llvm-readobj/sections.test
+++ b/llvm/test/tools/llvm-readobj/sections.test
@@ -568,6 +568,5 @@
 WASM-NEXT:     Offset: 257
 WASM-NEXT:     Name: linking
 WASM-NEXT:     DataSize: 13
-WASM-NEXT:     DataAlignment: 1
 WASM-NEXT:   }
 WASM-NEXT: ]