Skip to content

[lld][WebAssembly] Update datalayout strings to latest version #107276

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

arichardson
Copy link
Member

These mismatched data layouts are exposed by the refactoring in
#105734 that now also
compares the non-integral pointers list of the data layout.

I dropped the explicit definition from all tests that use opt/llc since
those tools will insert the correct value, but for the llvm-as based
tests and explicit layout is required.

Created using spr 1.3.6-beta.1
@llvmbot
Copy link
Member

llvmbot commented Sep 4, 2024

@llvm/pr-subscribers-lld-wasm

@llvm/pr-subscribers-lld

Author: Alexander Richardson (arichardson)

Changes

These mismatched data layouts are exposed by the refactoring in
#105734 that now also
compares the non-integral pointers list of the data layout.

I dropped the explicit definition from all tests that use opt/llc since
those tools will insert the correct value, but for the llvm-as based
tests and explicit layout is required.


Patch is 20.14 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/107276.diff

40 Files Affected:

  • (modified) lld/test/wasm/lto/Inputs/archive.ll (+1-1)
  • (modified) lld/test/wasm/lto/Inputs/cache.ll (+1-1)
  • (modified) lld/test/wasm/lto/Inputs/comdat_ordering1.ll (+1-1)
  • (modified) lld/test/wasm/lto/Inputs/comdat_ordering2.ll (+1-1)
  • (modified) lld/test/wasm/lto/Inputs/foo.ll (+1-1)
  • (modified) lld/test/wasm/lto/Inputs/libcall-archive.ll (+1-1)
  • (modified) lld/test/wasm/lto/Inputs/libcall-truncsfhf2.ll (+1-1)
  • (modified) lld/test/wasm/lto/Inputs/libcall.ll (+1-1)
  • (modified) lld/test/wasm/lto/Inputs/save-temps.ll (+1-1)
  • (modified) lld/test/wasm/lto/Inputs/thin1.ll (+1-1)
  • (modified) lld/test/wasm/lto/Inputs/thin2.ll (+1-1)
  • (modified) lld/test/wasm/lto/Inputs/thinlto.ll (+1-1)
  • (modified) lld/test/wasm/lto/Inputs/used.ll (+1-1)
  • (modified) lld/test/wasm/lto/archive.ll (+1-1)
  • (modified) lld/test/wasm/lto/atomics.ll (+1-1)
  • (modified) lld/test/wasm/lto/cache-warnings.ll (-1)
  • (modified) lld/test/wasm/lto/cache.ll (-1)
  • (modified) lld/test/wasm/lto/cgo.ll (+1-1)
  • (modified) lld/test/wasm/lto/comdat.ll (+1-1)
  • (modified) lld/test/wasm/lto/diagnostics.ll (+1-1)
  • (modified) lld/test/wasm/lto/export.ll (+1-1)
  • (modified) lld/test/wasm/lto/import-attributes.ll (+1-1)
  • (modified) lld/test/wasm/lto/internalize-basic.ll (+1-1)
  • (modified) lld/test/wasm/lto/libcall-archive.ll (+1-1)
  • (modified) lld/test/wasm/lto/libcall-truncsfhf2.ll (+1-1)
  • (modified) lld/test/wasm/lto/lto-start.ll (+1-1)
  • (modified) lld/test/wasm/lto/new-pass-manager.ll (+1-1)
  • (modified) lld/test/wasm/lto/opt-level.ll (+1-1)
  • (modified) lld/test/wasm/lto/parallel.ll (+1-1)
  • (modified) lld/test/wasm/lto/relocatable-undefined.ll (+1-1)
  • (modified) lld/test/wasm/lto/relocatable.ll (+1-1)
  • (modified) lld/test/wasm/lto/save-temps.ll (+1-1)
  • (modified) lld/test/wasm/lto/thin-archivecollision.ll (-1)
  • (modified) lld/test/wasm/lto/thinlto-thin-archive-collision.ll (-1)
  • (modified) lld/test/wasm/lto/thinlto.ll (-1)
  • (modified) lld/test/wasm/lto/undef.ll (+1-1)
  • (modified) lld/test/wasm/lto/used.ll (-1)
  • (modified) lld/test/wasm/lto/verify-invalid.ll (+1-1)
  • (modified) lld/test/wasm/lto/weak-undefined.ll (+1-1)
  • (modified) lld/test/wasm/lto/weak.ll (+1-1)
diff --git a/lld/test/wasm/lto/Inputs/archive.ll b/lld/test/wasm/lto/Inputs/archive.ll
index 5f4e3c00e0f0a6..9e174c36136a97 100644
--- a/lld/test/wasm/lto/Inputs/archive.ll
+++ b/lld/test/wasm/lto/Inputs/archive.ll
@@ -1,4 +1,4 @@
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 define void @f() {
diff --git a/lld/test/wasm/lto/Inputs/cache.ll b/lld/test/wasm/lto/Inputs/cache.ll
index 914654ef5f8201..ac76649dc85b27 100644
--- a/lld/test/wasm/lto/Inputs/cache.ll
+++ b/lld/test/wasm/lto/Inputs/cache.ll
@@ -1,4 +1,4 @@
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 define i32 @_start() {
diff --git a/lld/test/wasm/lto/Inputs/comdat_ordering1.ll b/lld/test/wasm/lto/Inputs/comdat_ordering1.ll
index b866c6efeba10e..d8da715d619c14 100644
--- a/lld/test/wasm/lto/Inputs/comdat_ordering1.ll
+++ b/lld/test/wasm/lto/Inputs/comdat_ordering1.ll
@@ -1,4 +1,4 @@
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 ; Generated from this C++ code and simplified manually:
diff --git a/lld/test/wasm/lto/Inputs/comdat_ordering2.ll b/lld/test/wasm/lto/Inputs/comdat_ordering2.ll
index 58ab5122bad881..1baa2ebc16de27 100644
--- a/lld/test/wasm/lto/Inputs/comdat_ordering2.ll
+++ b/lld/test/wasm/lto/Inputs/comdat_ordering2.ll
@@ -1,4 +1,4 @@
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 ; Generated from this C++ code and simplified manually:
diff --git a/lld/test/wasm/lto/Inputs/foo.ll b/lld/test/wasm/lto/Inputs/foo.ll
index 5fd7651b49cb74..f3b54cc7d0094e 100644
--- a/lld/test/wasm/lto/Inputs/foo.ll
+++ b/lld/test/wasm/lto/Inputs/foo.ll
@@ -1,4 +1,4 @@
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 define void @foo() local_unnamed_addr {
diff --git a/lld/test/wasm/lto/Inputs/libcall-archive.ll b/lld/test/wasm/lto/Inputs/libcall-archive.ll
index def1452bdf35cf..9d05efdeae0806 100644
--- a/lld/test/wasm/lto/Inputs/libcall-archive.ll
+++ b/lld/test/wasm/lto/Inputs/libcall-archive.ll
@@ -1,4 +1,4 @@
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 define void @memcpy() {
diff --git a/lld/test/wasm/lto/Inputs/libcall-truncsfhf2.ll b/lld/test/wasm/lto/Inputs/libcall-truncsfhf2.ll
index b8609af2879514..1439d7f8b4cb4b 100644
--- a/lld/test/wasm/lto/Inputs/libcall-truncsfhf2.ll
+++ b/lld/test/wasm/lto/Inputs/libcall-truncsfhf2.ll
@@ -1,4 +1,4 @@
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 define half @__truncsfhf2(float) {
diff --git a/lld/test/wasm/lto/Inputs/libcall.ll b/lld/test/wasm/lto/Inputs/libcall.ll
index 23eb1f756284da..182d847bf1f0b2 100644
--- a/lld/test/wasm/lto/Inputs/libcall.ll
+++ b/lld/test/wasm/lto/Inputs/libcall.ll
@@ -1,4 +1,4 @@
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 ; This function, when compiled will generate a new undefined reference to
diff --git a/lld/test/wasm/lto/Inputs/save-temps.ll b/lld/test/wasm/lto/Inputs/save-temps.ll
index b25b8d92441f07..e709ef8cc02654 100644
--- a/lld/test/wasm/lto/Inputs/save-temps.ll
+++ b/lld/test/wasm/lto/Inputs/save-temps.ll
@@ -1,4 +1,4 @@
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 define void @bar() {
diff --git a/lld/test/wasm/lto/Inputs/thin1.ll b/lld/test/wasm/lto/Inputs/thin1.ll
index 04fa091ad2887e..653b1f3067af0b 100644
--- a/lld/test/wasm/lto/Inputs/thin1.ll
+++ b/lld/test/wasm/lto/Inputs/thin1.ll
@@ -1,6 +1,6 @@
 ; Copied from lld/test/ELF/lto/Inputs/thin1.ll
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 define i32 @foo(i32 %goo) {
diff --git a/lld/test/wasm/lto/Inputs/thin2.ll b/lld/test/wasm/lto/Inputs/thin2.ll
index 236781aed3de29..9b331c16a9cb6b 100644
--- a/lld/test/wasm/lto/Inputs/thin2.ll
+++ b/lld/test/wasm/lto/Inputs/thin2.ll
@@ -1,6 +1,6 @@
 ; Copied from lld/test/ELF/lto/Inputs/thin2.ll
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 define i32 @blah(i32 %meh) #0 {
diff --git a/lld/test/wasm/lto/Inputs/thinlto.ll b/lld/test/wasm/lto/Inputs/thinlto.ll
index 2c4fe7177f563c..a13f9c5ca56f34 100644
--- a/lld/test/wasm/lto/Inputs/thinlto.ll
+++ b/lld/test/wasm/lto/Inputs/thinlto.ll
@@ -1,4 +1,4 @@
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 define void @g() {
diff --git a/lld/test/wasm/lto/Inputs/used.ll b/lld/test/wasm/lto/Inputs/used.ll
index 93dd4acc50393c..840776d6ec2fd9 100644
--- a/lld/test/wasm/lto/Inputs/used.ll
+++ b/lld/test/wasm/lto/Inputs/used.ll
@@ -1,4 +1,4 @@
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 @foo = hidden global i32 1
diff --git a/lld/test/wasm/lto/archive.ll b/lld/test/wasm/lto/archive.ll
index b5c9e459eb5533..713c53a58f39c3 100644
--- a/lld/test/wasm/lto/archive.ll
+++ b/lld/test/wasm/lto/archive.ll
@@ -5,7 +5,7 @@
 ; RUN: wasm-ld --export-dynamic %t2.o %t.a -o %t3
 ; RUN: obj2yaml %t3 | FileCheck %s
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 define void @_start() {
diff --git a/lld/test/wasm/lto/atomics.ll b/lld/test/wasm/lto/atomics.ll
index 9378519e09992d..c7712f7b82d668 100644
--- a/lld/test/wasm/lto/atomics.ll
+++ b/lld/test/wasm/lto/atomics.ll
@@ -4,7 +4,7 @@
 ; Atomic operations will not fail to compile if atomics are not
 ; enabled because LLVM atomics will be lowered to regular ops.
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown-wasm"
 
 @foo = hidden global i32 1
diff --git a/lld/test/wasm/lto/cache-warnings.ll b/lld/test/wasm/lto/cache-warnings.ll
index 575e3a8b2ba4c0..9175fc97a0752b 100644
--- a/lld/test/wasm/lto/cache-warnings.ll
+++ b/lld/test/wasm/lto/cache-warnings.ll
@@ -35,7 +35,6 @@
 ; SIZE: warning: ThinLTO cache pruning happens since the total size of{{.*}}--thinlto-cache-policy
 ; WARN-NOT: warning: ThinLTO cache pruning happens{{.*}}--thinlto-cache-policy
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
 target triple = "wasm32-unknown-unknown-wasm"
 
 define void @globalfunc() #0 {
diff --git a/lld/test/wasm/lto/cache.ll b/lld/test/wasm/lto/cache.ll
index 570b38948f66c9..9ddf27630f1d8c 100644
--- a/lld/test/wasm/lto/cache.ll
+++ b/lld/test/wasm/lto/cache.ll
@@ -36,7 +36,6 @@
 ; RUN: wasm-ld --thinlto-cache-dir=%t.cache --thinlto-cache-policy prune_after=0s:cache_size=0%:cache_size_files=1:prune_interval=0s -o %t.wasm %t2.o %t.o
 ; RUN: ls %t.cache | count 3
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
 target triple = "wasm32-unknown-unknown-wasm"
 
 define void @globalfunc() #0 {
diff --git a/lld/test/wasm/lto/cgo.ll b/lld/test/wasm/lto/cgo.ll
index c37ae6e8bcf352..007e379e0632e4 100644
--- a/lld/test/wasm/lto/cgo.ll
+++ b/lld/test/wasm/lto/cgo.ll
@@ -19,7 +19,7 @@
 ; ERROR-O4: wasm-ld: error: invalid optimization level for LTO: 4
 ; ERROR-CGO4: wasm-ld: error: invalid codegen optimization level for LTO: 4
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown-wasm"
 
 define void @_start() {
diff --git a/lld/test/wasm/lto/comdat.ll b/lld/test/wasm/lto/comdat.ll
index d9f414a4dac035..634bcf84dde1a1 100644
--- a/lld/test/wasm/lto/comdat.ll
+++ b/lld/test/wasm/lto/comdat.ll
@@ -6,7 +6,7 @@
 ; RUN: wasm-ld %t.bc %t.o -o %t.wasm
 ; RUN: wasm-ld %t.o %t.bc -o %t.wasm
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 $foo = comdat any
diff --git a/lld/test/wasm/lto/diagnostics.ll b/lld/test/wasm/lto/diagnostics.ll
index 2f1daa99d848ca..e075a321992649 100644
--- a/lld/test/wasm/lto/diagnostics.ll
+++ b/lld/test/wasm/lto/diagnostics.ll
@@ -4,7 +4,7 @@
 ; RUN: llvm-as %s -o %t.o
 ; RUN: not wasm-ld --lto-O0 %t.o -o %t2 2>&1 | FileCheck %s
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 define void @_start() {
diff --git a/lld/test/wasm/lto/export.ll b/lld/test/wasm/lto/export.ll
index ff5af8ccbbd399..e2e84f4056af73 100644
--- a/lld/test/wasm/lto/export.ll
+++ b/lld/test/wasm/lto/export.ll
@@ -3,7 +3,7 @@
 ; RUN: wasm-ld --export=hidden_function -o %t.wasm %t.bc
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 define hidden i32 @hidden_function() local_unnamed_addr {
diff --git a/lld/test/wasm/lto/import-attributes.ll b/lld/test/wasm/lto/import-attributes.ll
index 72198fa8adb498..c1398f975cb536 100644
--- a/lld/test/wasm/lto/import-attributes.ll
+++ b/lld/test/wasm/lto/import-attributes.ll
@@ -3,7 +3,7 @@
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
 target triple = "wasm32-unknown-unknown-wasm"
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 
 define void @_start() {
   call void @foo();
diff --git a/lld/test/wasm/lto/internalize-basic.ll b/lld/test/wasm/lto/internalize-basic.ll
index 95a1fa3e055c38..e44c8a5f66de21 100644
--- a/lld/test/wasm/lto/internalize-basic.ll
+++ b/lld/test/wasm/lto/internalize-basic.ll
@@ -2,7 +2,7 @@
 ; RUN: wasm-ld %t.o -o %t2 -save-temps
 ; RUN: llvm-dis < %t2.0.2.internalize.bc | FileCheck %s
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown-wasm"
 
 define void @_start() {
diff --git a/lld/test/wasm/lto/libcall-archive.ll b/lld/test/wasm/lto/libcall-archive.ll
index 365ce180f1441e..2f785b98976ec8 100644
--- a/lld/test/wasm/lto/libcall-archive.ll
+++ b/lld/test/wasm/lto/libcall-archive.ll
@@ -5,7 +5,7 @@
 ; RUN: wasm-ld -o %t %t.o %t.a
 ; RUN: obj2yaml %t | FileCheck %s
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 define void @_start(ptr %a, ptr %b) {
diff --git a/lld/test/wasm/lto/libcall-truncsfhf2.ll b/lld/test/wasm/lto/libcall-truncsfhf2.ll
index 08b334ace9ba30..fd07bb53890f68 100644
--- a/lld/test/wasm/lto/libcall-truncsfhf2.ll
+++ b/lld/test/wasm/lto/libcall-truncsfhf2.ll
@@ -4,7 +4,7 @@
 ; RUN: llvm-ar rcs %t.a %t.truncsfhf2.o
 ; RUN: not wasm-ld --export-all %t.o %t.a -o %t.wasm 2>&1 | FileCheck %s
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 @g_float = global float 0.0
diff --git a/lld/test/wasm/lto/lto-start.ll b/lld/test/wasm/lto/lto-start.ll
index ebbfd8d53e4efd..4af43103e53d40 100644
--- a/lld/test/wasm/lto/lto-start.ll
+++ b/lld/test/wasm/lto/lto-start.ll
@@ -8,7 +8,7 @@
 ; CHECK-NEXT:       - Index:           0
 ; CHECK-NEXT:         Name:            _start
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown-wasm"
 
 define void @_start() {
diff --git a/lld/test/wasm/lto/new-pass-manager.ll b/lld/test/wasm/lto/new-pass-manager.ll
index 377b31674ccc74..7fc70541ecec73 100644
--- a/lld/test/wasm/lto/new-pass-manager.ll
+++ b/lld/test/wasm/lto/new-pass-manager.ll
@@ -3,7 +3,7 @@
 
 ; CHECK: Running pass: GlobalOptPass
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 define void @_start() local_unnamed_addr {
diff --git a/lld/test/wasm/lto/opt-level.ll b/lld/test/wasm/lto/opt-level.ll
index 6556f2ef02b5c7..b2698fffdabd8e 100644
--- a/lld/test/wasm/lto/opt-level.ll
+++ b/lld/test/wasm/lto/opt-level.ll
@@ -15,7 +15,7 @@
 ; RUN:   FileCheck --check-prefix=INVALIDNEGATIVE %s
 ; INVALIDNEGATIVE: invalid optimization level for LTO: 4294967295
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown-wasm"
 
 ; CHECK-O0: Name: foo
diff --git a/lld/test/wasm/lto/parallel.ll b/lld/test/wasm/lto/parallel.ll
index e4ea35f60d8959..a9e8b653d11a35 100644
--- a/lld/test/wasm/lto/parallel.ll
+++ b/lld/test/wasm/lto/parallel.ll
@@ -4,7 +4,7 @@
 ; RUN: llvm-nm %t.lto.o | FileCheck --check-prefix=CHECK0 %s
 ; RUN: llvm-nm %t1.lto.o | FileCheck --check-prefix=CHECK1 %s
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown-wasm"
 
 ; CHECK0-NOT: bar
diff --git a/lld/test/wasm/lto/relocatable-undefined.ll b/lld/test/wasm/lto/relocatable-undefined.ll
index e8145cf39810b7..37ec50e1319619 100644
--- a/lld/test/wasm/lto/relocatable-undefined.ll
+++ b/lld/test/wasm/lto/relocatable-undefined.ll
@@ -2,7 +2,7 @@
 ; RUN: wasm-ld -r -o %t.wasm %t.o
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 @missing_data = external global i32
diff --git a/lld/test/wasm/lto/relocatable.ll b/lld/test/wasm/lto/relocatable.ll
index a127db3663b38c..5f3010724dcd87 100644
--- a/lld/test/wasm/lto/relocatable.ll
+++ b/lld/test/wasm/lto/relocatable.ll
@@ -12,7 +12,7 @@
 ; CHECK-NEXT:   }
 ; CHECK-NEXT: ]
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 define void @foo() {
diff --git a/lld/test/wasm/lto/save-temps.ll b/lld/test/wasm/lto/save-temps.ll
index bcc420178803e7..773978ef01f8ca 100644
--- a/lld/test/wasm/lto/save-temps.ll
+++ b/lld/test/wasm/lto/save-temps.ll
@@ -8,7 +8,7 @@
 ; RUN: llvm-nm a.out.lto.o | FileCheck %s
 ; RUN: llvm-dis a.out.0.0.preopt.bc
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 define void @foo() {
diff --git a/lld/test/wasm/lto/thin-archivecollision.ll b/lld/test/wasm/lto/thin-archivecollision.ll
index 5b3a423de4020c..c3d133e2a71341 100644
--- a/lld/test/wasm/lto/thin-archivecollision.ll
+++ b/lld/test/wasm/lto/thin-archivecollision.ll
@@ -18,7 +18,6 @@
 ; CHECK: Name:            foo
 ; CHECK: Name:            blah
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
 target triple = "wasm32-unknown-unknown"
 
 define i32 @_start() #0 {
diff --git a/lld/test/wasm/lto/thinlto-thin-archive-collision.ll b/lld/test/wasm/lto/thinlto-thin-archive-collision.ll
index d1000b3711364d..fb90b75eee2c1a 100644
--- a/lld/test/wasm/lto/thinlto-thin-archive-collision.ll
+++ b/lld/test/wasm/lto/thinlto-thin-archive-collision.ll
@@ -15,7 +15,6 @@
 ; CHECK: thinlto-archives/thin.a(thin.o at {{[1-9][0-9]+}})
 ; CHECK-NEXT: -r=thinlto-archives/thin.a(thin.o at {{[1-9][0-9]+}}),blah,p
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
 target triple = "wasm32-unknown-unknown"
 
 declare i32 @blah(i32 %meh)
diff --git a/lld/test/wasm/lto/thinlto.ll b/lld/test/wasm/lto/thinlto.ll
index 169b827fe3080b..c7dd73adcd4b76 100644
--- a/lld/test/wasm/lto/thinlto.ll
+++ b/lld/test/wasm/lto/thinlto.ll
@@ -52,7 +52,6 @@
 ; NM1: T f
 ; NM2: T g
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
 target triple = "wasm32-unknown-unknown"
 
 declare void @g(...)
diff --git a/lld/test/wasm/lto/undef.ll b/lld/test/wasm/lto/undef.ll
index cb9e7fc39e9357..0cadd75b78e4fb 100644
--- a/lld/test/wasm/lto/undef.ll
+++ b/lld/test/wasm/lto/undef.ll
@@ -2,7 +2,7 @@
 ; RUN: wasm-ld %t.o -o %t.wasm --allow-undefined
 ; RUN: obj2yaml %t.wasm | FileCheck %s
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 declare i32 @bar()
diff --git a/lld/test/wasm/lto/used.ll b/lld/test/wasm/lto/used.ll
index 414e72d6b9a499..a1851035fa2479 100644
--- a/lld/test/wasm/lto/used.ll
+++ b/lld/test/wasm/lto/used.ll
@@ -5,7 +5,6 @@
 
 ; Verify that symbols references from regular objects are preserved by LTO
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
 target triple = "wasm32-unknown-unknown"
 
 declare void @bar()
diff --git a/lld/test/wasm/lto/verify-invalid.ll b/lld/test/wasm/lto/verify-invalid.ll
index 67ed5b5498f47e..ee3a8142bc8ac0 100644
--- a/lld/test/wasm/lto/verify-invalid.ll
+++ b/lld/test/wasm/lto/verify-invalid.ll
@@ -4,7 +4,7 @@
 ; RUN: wasm-ld %t.o -o %t2 --lto-debug-pass-manager \
 ; RUN:   -disable-verify 2>&1 | FileCheck -check-prefix=DISABLE-NPM %s
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 define void @_start() {
diff --git a/lld/test/wasm/lto/weak-undefined.ll b/lld/test/wasm/lto/weak-undefined.ll
index 9a42c2bb5dbf70..39730425270d7d 100644
--- a/lld/test/wasm/lto/weak-undefined.ll
+++ b/lld/test/wasm/lto/weak-undefined.ll
@@ -6,7 +6,7 @@
 ; We had a bug where stub function generation was failing because functions
 ; that are in bitcode (pre-LTO) don't have signatures assigned.
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20"
 target triple = "wasm32-unknown-unknown"
 
 declare extern_weak i32 @foo()
diff --git a/lld/test/wasm/lto/weak.ll b/lld/test/wasm/lto/weak.ll
index 6b83400b8e8af0..84bcba91882f31 100644
--- a/lld/test/wasm/lto/weak.ll
+++ b/lld/test/wasm/lto/weak.ll
@@ -2,7 +2,7 @@
 ; RUN: wasm-ld %t.o %t.o -o %t.wasm -r
 ; RUN: llvm-readobj --symbols %t.wasm | FileCheck %s
 
-target datalayout = "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128"
+target dat...
[truncated]

Copy link
Member

@MaskRay MaskRay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the change does not modify lld/test/ELF , consider dropping "[ELF]". LGTM when sbc100 is happy.

(Thanks for the patch. I am on vacation and may be slow/inconvenient to respond.)

@sbc100
Copy link
Collaborator

sbc100 commented Sep 18, 2024

Agreed, I think you can replace [ELF][WASM] with [lld][WebAssembly].

Otherwise LGTM

@arichardson
Copy link
Member Author

Thanks for the review - will commit shortly.

Created using spr 1.3.6-beta.1
@arichardson arichardson changed the title [ELF][WASM] Update datalayout strings to latest version [lld][WebAssembly] Update datalayout strings to latest version Oct 25, 2024
@arichardson arichardson merged commit a35ebcf into main Oct 25, 2024
6 of 8 checks passed
@arichardson arichardson deleted the users/arichardson/spr/elfwasm-update-datalayout-strings-to-latest-version branch October 25, 2024 01:11
NoumanAmir657 pushed a commit to NoumanAmir657/llvm-project that referenced this pull request Nov 4, 2024
These mismatched data layouts are exposed by the refactoring in
llvm#105734 that now also
compares the non-integral pointers list of the data layout.

I dropped the explicit definition from all tests that use opt/llc since
those tools will insert the correct value, but for the llvm-as based
tests and explicit layout is required.

Reviewed By: MaskRay

Pull Request: llvm#107276
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants