about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2023-08-07 05:29:11 +0200
committerGitHub <noreply@github.com>2023-08-07 05:29:11 +0200
commitfe1c3a1a5e6afa5e8d342e5313aa3952bad30625 (patch)
treed778de75adf1b93a1a816fb0dc9d02a8360d281f
parent137177386b1d2c991a6f34bc0be57b5f4224159c (diff)
parentc81d3e23d1aa58571ce82de0af916cc7f3c9a1be (diff)
downloadrust-fe1c3a1a5e6afa5e8d342e5313aa3952bad30625.tar.gz
rust-fe1c3a1a5e6afa5e8d342e5313aa3952bad30625.zip
Rollup merge of #114230 - workingjubilee:codegen-tests-that-nest, r=Mark-Simulacrum
Nest other codegen test topics

This PR is like rust-lang/rust#114229 in that it mostly pushes codegen tests around, shoving them into their own directories, but because all of the changes are very simple cleanups I pulled them into a separate PR. The other PR might involve actually evaluating the correctness of the test after changes, but here it is mostly a matter of taste. The only "functional" change is deleting a few tests that... hinge on a version of LLVM that we don't support (as of rust-lang/rust#114148 anyways).

I considered a few different ways to group other topics but I feel the question of whether `tests/codegen/{vec,array,slice}` should exist is more subtle than these choices, as it might be better to group such related tests by other topics like bounds check elision, thus I avoided making it.
-rw-r--r--tests/codegen/box-maybe-uninit-llvm14.rs34
-rw-r--r--tests/codegen/cffi/c-variadic-copy.rs (renamed from tests/codegen/c-variadic-copy.rs)0
-rw-r--r--tests/codegen/cffi/c-variadic-opt.rs (renamed from tests/codegen/c-variadic-opt.rs)0
-rw-r--r--tests/codegen/cffi/c-variadic.rs (renamed from tests/codegen/c-variadic.rs)0
-rw-r--r--tests/codegen/cffi/ffi-const.rs (renamed from tests/codegen/ffi-const.rs)0
-rw-r--r--tests/codegen/cffi/ffi-out-of-bounds-loads.rs (renamed from tests/codegen/ffi-out-of-bounds-loads.rs)0
-rw-r--r--tests/codegen/cffi/ffi-pure.rs (renamed from tests/codegen/ffi-pure.rs)0
-rw-r--r--tests/codegen/cffi/ffi-returns-twice.rs (renamed from tests/codegen/ffi-returns-twice.rs)0
-rw-r--r--tests/codegen/enum/enum-bounds-check-derived-idx.rs (renamed from tests/codegen/enum-bounds-check-derived-idx.rs)0
-rw-r--r--tests/codegen/enum/enum-bounds-check-issue-13926.rs (renamed from tests/codegen/enum-bounds-check-issue-13926.rs)0
-rw-r--r--tests/codegen/enum/enum-bounds-check-issue-82871.rs (renamed from tests/codegen/enum-bounds-check-issue-82871.rs)0
-rw-r--r--tests/codegen/enum/enum-bounds-check.rs (renamed from tests/codegen/enum-bounds-check.rs)0
-rw-r--r--tests/codegen/enum/enum-debug-clike.rs (renamed from tests/codegen/enum-debug-clike.rs)0
-rw-r--r--tests/codegen/enum/enum-debug-niche-2.rs (renamed from tests/codegen/enum-debug-niche-2.rs)0
-rw-r--r--tests/codegen/enum/enum-debug-niche.rs (renamed from tests/codegen/enum-debug-niche.rs)0
-rw-r--r--tests/codegen/enum/enum-debug-tagged.rs (renamed from tests/codegen/enum-debug-tagged.rs)0
-rw-r--r--tests/codegen/enum/enum-discriminant-value.rs (renamed from tests/codegen/enum-discriminant-value.rs)0
-rw-r--r--tests/codegen/enum/enum-match.rs (renamed from tests/codegen/enum-match.rs)0
-rw-r--r--tests/codegen/enum/enum-u128.rs (renamed from tests/codegen/enum-u128.rs)0
-rw-r--r--tests/codegen/macos/i686-macosx-deployment-target.rs (renamed from tests/codegen/i686-macosx-deployment-target.rs)0
-rw-r--r--tests/codegen/macos/i686-no-macosx-deployment-target.rs (renamed from tests/codegen/i686-no-macosx-deployment-target.rs)0
-rw-r--r--tests/codegen/macos/x86_64-macosx-deployment-target.rs (renamed from tests/codegen/x86_64-macosx-deployment-target.rs)0
-rw-r--r--tests/codegen/macos/x86_64-no-macosx-deployment-target.rs (renamed from tests/codegen/x86_64-no-macosx-deployment-target.rs)0
-rw-r--r--tests/codegen/naked-fn/naked-functions.rs (renamed from tests/codegen/naked-functions.rs)0
-rw-r--r--tests/codegen/naked-fn/naked-nocoverage.rs (renamed from tests/codegen/naked-nocoverage.rs)0
-rw-r--r--tests/codegen/naked-fn/naked-noinline.rs (renamed from tests/codegen/naked-noinline.rs)0
-rw-r--r--tests/codegen/simd/simd-wide-sum.rs (renamed from tests/codegen/simd-wide-sum.rs)0
-rw-r--r--tests/codegen/simd/simd_arith_offset.rs (renamed from tests/codegen/simd_arith_offset.rs)0
-rw-r--r--tests/codegen/simd/swap-simd-types.rs (renamed from tests/codegen/swap-simd-types.rs)0
-rw-r--r--tests/codegen/simd/unpadded-simd.rs (renamed from tests/codegen/unpadded-simd.rs)0
-rw-r--r--tests/codegen/vec-calloc-llvm14.rs144
31 files changed, 0 insertions, 178 deletions
diff --git a/tests/codegen/box-maybe-uninit-llvm14.rs b/tests/codegen/box-maybe-uninit-llvm14.rs
deleted file mode 100644
index c9f88fb3fe4..00000000000
--- a/tests/codegen/box-maybe-uninit-llvm14.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-// compile-flags: -O
-
-// Once we're done with llvm 14 and earlier, this test can be deleted.
-
-#![crate_type = "lib"]
-
-use std::mem::MaybeUninit;
-
-// Boxing a `MaybeUninit` value should not copy junk from the stack
-#[no_mangle]
-pub fn box_uninitialized() -> Box<MaybeUninit<usize>> {
-    // CHECK-LABEL: @box_uninitialized
-    // CHECK-NOT: store
-    // CHECK-NOT: alloca
-    // CHECK-NOT: memcpy
-    // CHECK-NOT: memset
-    Box::new(MaybeUninit::uninit())
-}
-
-// https://github.com/rust-lang/rust/issues/58201
-#[no_mangle]
-pub fn box_uninitialized2() -> Box<MaybeUninit<[usize; 1024 * 1024]>> {
-    // CHECK-LABEL: @box_uninitialized2
-    // CHECK-NOT: store
-    // CHECK-NOT: alloca
-    // CHECK-NOT: memcpy
-    // CHECK-NOT: memset
-    Box::new(MaybeUninit::uninit())
-}
-
-// Hide the LLVM 15+ `allocalign` attribute in the declaration of __rust_alloc
-// from the CHECK-NOT above. We don't check the attributes here because we can't rely
-// on all of them being set until LLVM 15.
-// CHECK: declare {{(dso_local )?}}noalias{{.*}} @__rust_alloc(i{{[0-9]+}} noundef, i{{[0-9]+.*}} noundef)
diff --git a/tests/codegen/c-variadic-copy.rs b/tests/codegen/cffi/c-variadic-copy.rs
index 4c61c4fcf68..4c61c4fcf68 100644
--- a/tests/codegen/c-variadic-copy.rs
+++ b/tests/codegen/cffi/c-variadic-copy.rs
diff --git a/tests/codegen/c-variadic-opt.rs b/tests/codegen/cffi/c-variadic-opt.rs
index 969dce80f58..969dce80f58 100644
--- a/tests/codegen/c-variadic-opt.rs
+++ b/tests/codegen/cffi/c-variadic-opt.rs
diff --git a/tests/codegen/c-variadic.rs b/tests/codegen/cffi/c-variadic.rs
index cab32652210..cab32652210 100644
--- a/tests/codegen/c-variadic.rs
+++ b/tests/codegen/cffi/c-variadic.rs
diff --git a/tests/codegen/ffi-const.rs b/tests/codegen/cffi/ffi-const.rs
index 93720503480..93720503480 100644
--- a/tests/codegen/ffi-const.rs
+++ b/tests/codegen/cffi/ffi-const.rs
diff --git a/tests/codegen/ffi-out-of-bounds-loads.rs b/tests/codegen/cffi/ffi-out-of-bounds-loads.rs
index 099726b2f08..099726b2f08 100644
--- a/tests/codegen/ffi-out-of-bounds-loads.rs
+++ b/tests/codegen/cffi/ffi-out-of-bounds-loads.rs
diff --git a/tests/codegen/ffi-pure.rs b/tests/codegen/cffi/ffi-pure.rs
index 2ed73581358..2ed73581358 100644
--- a/tests/codegen/ffi-pure.rs
+++ b/tests/codegen/cffi/ffi-pure.rs
diff --git a/tests/codegen/ffi-returns-twice.rs b/tests/codegen/cffi/ffi-returns-twice.rs
index 0fbe03f0bb6..0fbe03f0bb6 100644
--- a/tests/codegen/ffi-returns-twice.rs
+++ b/tests/codegen/cffi/ffi-returns-twice.rs
diff --git a/tests/codegen/enum-bounds-check-derived-idx.rs b/tests/codegen/enum/enum-bounds-check-derived-idx.rs
index aa66c2ed08e..aa66c2ed08e 100644
--- a/tests/codegen/enum-bounds-check-derived-idx.rs
+++ b/tests/codegen/enum/enum-bounds-check-derived-idx.rs
diff --git a/tests/codegen/enum-bounds-check-issue-13926.rs b/tests/codegen/enum/enum-bounds-check-issue-13926.rs
index b26945bc549..b26945bc549 100644
--- a/tests/codegen/enum-bounds-check-issue-13926.rs
+++ b/tests/codegen/enum/enum-bounds-check-issue-13926.rs
diff --git a/tests/codegen/enum-bounds-check-issue-82871.rs b/tests/codegen/enum/enum-bounds-check-issue-82871.rs
index 32fdc4a5f4f..32fdc4a5f4f 100644
--- a/tests/codegen/enum-bounds-check-issue-82871.rs
+++ b/tests/codegen/enum/enum-bounds-check-issue-82871.rs
diff --git a/tests/codegen/enum-bounds-check.rs b/tests/codegen/enum/enum-bounds-check.rs
index 17322d5911b..17322d5911b 100644
--- a/tests/codegen/enum-bounds-check.rs
+++ b/tests/codegen/enum/enum-bounds-check.rs
diff --git a/tests/codegen/enum-debug-clike.rs b/tests/codegen/enum/enum-debug-clike.rs
index 1e369a2c4e6..1e369a2c4e6 100644
--- a/tests/codegen/enum-debug-clike.rs
+++ b/tests/codegen/enum/enum-debug-clike.rs
diff --git a/tests/codegen/enum-debug-niche-2.rs b/tests/codegen/enum/enum-debug-niche-2.rs
index 4b607d50574..4b607d50574 100644
--- a/tests/codegen/enum-debug-niche-2.rs
+++ b/tests/codegen/enum/enum-debug-niche-2.rs
diff --git a/tests/codegen/enum-debug-niche.rs b/tests/codegen/enum/enum-debug-niche.rs
index b718a6854dd..b718a6854dd 100644
--- a/tests/codegen/enum-debug-niche.rs
+++ b/tests/codegen/enum/enum-debug-niche.rs
diff --git a/tests/codegen/enum-debug-tagged.rs b/tests/codegen/enum/enum-debug-tagged.rs
index 095c49ac3ac..095c49ac3ac 100644
--- a/tests/codegen/enum-debug-tagged.rs
+++ b/tests/codegen/enum/enum-debug-tagged.rs
diff --git a/tests/codegen/enum-discriminant-value.rs b/tests/codegen/enum/enum-discriminant-value.rs
index cc14c212002..cc14c212002 100644
--- a/tests/codegen/enum-discriminant-value.rs
+++ b/tests/codegen/enum/enum-discriminant-value.rs
diff --git a/tests/codegen/enum-match.rs b/tests/codegen/enum/enum-match.rs
index 5548cd25147..5548cd25147 100644
--- a/tests/codegen/enum-match.rs
+++ b/tests/codegen/enum/enum-match.rs
diff --git a/tests/codegen/enum-u128.rs b/tests/codegen/enum/enum-u128.rs
index f50d360ac9f..f50d360ac9f 100644
--- a/tests/codegen/enum-u128.rs
+++ b/tests/codegen/enum/enum-u128.rs
diff --git a/tests/codegen/i686-macosx-deployment-target.rs b/tests/codegen/macos/i686-macosx-deployment-target.rs
index 17258a264a5..17258a264a5 100644
--- a/tests/codegen/i686-macosx-deployment-target.rs
+++ b/tests/codegen/macos/i686-macosx-deployment-target.rs
diff --git a/tests/codegen/i686-no-macosx-deployment-target.rs b/tests/codegen/macos/i686-no-macosx-deployment-target.rs
index 043040a95e3..043040a95e3 100644
--- a/tests/codegen/i686-no-macosx-deployment-target.rs
+++ b/tests/codegen/macos/i686-no-macosx-deployment-target.rs
diff --git a/tests/codegen/x86_64-macosx-deployment-target.rs b/tests/codegen/macos/x86_64-macosx-deployment-target.rs
index 8e673d11d98..8e673d11d98 100644
--- a/tests/codegen/x86_64-macosx-deployment-target.rs
+++ b/tests/codegen/macos/x86_64-macosx-deployment-target.rs
diff --git a/tests/codegen/x86_64-no-macosx-deployment-target.rs b/tests/codegen/macos/x86_64-no-macosx-deployment-target.rs
index 25ae6924de0..25ae6924de0 100644
--- a/tests/codegen/x86_64-no-macosx-deployment-target.rs
+++ b/tests/codegen/macos/x86_64-no-macosx-deployment-target.rs
diff --git a/tests/codegen/naked-functions.rs b/tests/codegen/naked-fn/naked-functions.rs
index e05bbc26e83..e05bbc26e83 100644
--- a/tests/codegen/naked-functions.rs
+++ b/tests/codegen/naked-fn/naked-functions.rs
diff --git a/tests/codegen/naked-nocoverage.rs b/tests/codegen/naked-fn/naked-nocoverage.rs
index 3c755e49c6d..3c755e49c6d 100644
--- a/tests/codegen/naked-nocoverage.rs
+++ b/tests/codegen/naked-fn/naked-nocoverage.rs
diff --git a/tests/codegen/naked-noinline.rs b/tests/codegen/naked-fn/naked-noinline.rs
index 5cfb500c0ef..5cfb500c0ef 100644
--- a/tests/codegen/naked-noinline.rs
+++ b/tests/codegen/naked-fn/naked-noinline.rs
diff --git a/tests/codegen/simd-wide-sum.rs b/tests/codegen/simd/simd-wide-sum.rs
index 3116f9597bc..3116f9597bc 100644
--- a/tests/codegen/simd-wide-sum.rs
+++ b/tests/codegen/simd/simd-wide-sum.rs
diff --git a/tests/codegen/simd_arith_offset.rs b/tests/codegen/simd/simd_arith_offset.rs
index 1ee73de1186..1ee73de1186 100644
--- a/tests/codegen/simd_arith_offset.rs
+++ b/tests/codegen/simd/simd_arith_offset.rs
diff --git a/tests/codegen/swap-simd-types.rs b/tests/codegen/simd/swap-simd-types.rs
index 3472a42b0e6..3472a42b0e6 100644
--- a/tests/codegen/swap-simd-types.rs
+++ b/tests/codegen/simd/swap-simd-types.rs
diff --git a/tests/codegen/unpadded-simd.rs b/tests/codegen/simd/unpadded-simd.rs
index eb44dbd9313..eb44dbd9313 100644
--- a/tests/codegen/unpadded-simd.rs
+++ b/tests/codegen/simd/unpadded-simd.rs
diff --git a/tests/codegen/vec-calloc-llvm14.rs b/tests/codegen/vec-calloc-llvm14.rs
deleted file mode 100644
index 08302796c41..00000000000
--- a/tests/codegen/vec-calloc-llvm14.rs
+++ /dev/null
@@ -1,144 +0,0 @@
-// compile-flags: -O
-// only-x86_64
-// ignore-debug
-
-#![crate_type = "lib"]
-
-// CHECK-LABEL: @vec_zero_bytes
-#[no_mangle]
-pub fn vec_zero_bytes(n: usize) -> Vec<u8> {
-    // CHECK-NOT: call {{.*}}alloc::vec::from_elem
-    // CHECK-NOT: call {{.*}}reserve
-    // CHECK-NOT: call {{.*}}__rust_alloc(
-    // CHECK-NOT: call {{.*}}llvm.memset
-
-    // CHECK: call {{.*}}__rust_alloc_zeroed(
-
-    // CHECK-NOT: call {{.*}}alloc::vec::from_elem
-    // CHECK-NOT: call {{.*}}reserve
-    // CHECK-NOT: call {{.*}}__rust_alloc(
-    // CHECK-NOT: call {{.*}}llvm.memset
-
-    // CHECK: ret void
-    vec![0; n]
-}
-
-// CHECK-LABEL: @vec_one_bytes
-#[no_mangle]
-pub fn vec_one_bytes(n: usize) -> Vec<u8> {
-    // CHECK-NOT: call {{.*}}alloc::vec::from_elem
-    // CHECK-NOT: call {{.*}}reserve
-    // CHECK-NOT: call {{.*}}__rust_alloc_zeroed(
-
-    // CHECK: call {{.*}}__rust_alloc(
-    // CHECK: call {{.*}}llvm.memset
-
-    // CHECK-NOT: call {{.*}}alloc::vec::from_elem
-    // CHECK-NOT: call {{.*}}reserve
-    // CHECK-NOT: call {{.*}}__rust_alloc_zeroed(
-
-    // CHECK: ret void
-    vec![1; n]
-}
-
-// CHECK-LABEL: @vec_zero_scalar
-#[no_mangle]
-pub fn vec_zero_scalar(n: usize) -> Vec<i32> {
-    // CHECK-NOT: call {{.*}}alloc::vec::from_elem
-    // CHECK-NOT: call {{.*}}reserve
-    // CHECK-NOT: call {{.*}}__rust_alloc(
-
-    // CHECK: call {{.*}}__rust_alloc_zeroed(
-
-    // CHECK-NOT: call {{.*}}alloc::vec::from_elem
-    // CHECK-NOT: call {{.*}}reserve
-    // CHECK-NOT: call {{.*}}__rust_alloc(
-
-    // CHECK: ret void
-    vec![0; n]
-}
-
-// CHECK-LABEL: @vec_one_scalar
-#[no_mangle]
-pub fn vec_one_scalar(n: usize) -> Vec<i32> {
-    // CHECK-NOT: call {{.*}}alloc::vec::from_elem
-    // CHECK-NOT: call {{.*}}reserve
-    // CHECK-NOT: call {{.*}}__rust_alloc_zeroed(
-
-    // CHECK: call {{.*}}__rust_alloc(
-
-    // CHECK-NOT: call {{.*}}alloc::vec::from_elem
-    // CHECK-NOT: call {{.*}}reserve
-    // CHECK-NOT: call {{.*}}__rust_alloc_zeroed(
-
-    // CHECK: ret void
-    vec![1; n]
-}
-
-// CHECK-LABEL: @vec_zero_rgb48
-#[no_mangle]
-pub fn vec_zero_rgb48(n: usize) -> Vec<[u16; 3]> {
-    // CHECK-NOT: call {{.*}}alloc::vec::from_elem
-    // CHECK-NOT: call {{.*}}reserve
-    // CHECK-NOT: call {{.*}}__rust_alloc(
-
-    // CHECK: call {{.*}}__rust_alloc_zeroed(
-
-    // CHECK-NOT: call {{.*}}alloc::vec::from_elem
-    // CHECK-NOT: call {{.*}}reserve
-    // CHECK-NOT: call {{.*}}__rust_alloc(
-
-    // CHECK: ret void
-    vec![[0, 0, 0]; n]
-}
-
-// CHECK-LABEL: @vec_zero_array_16
-#[no_mangle]
-pub fn vec_zero_array_16(n: usize) -> Vec<[i64; 16]> {
-    // CHECK-NOT: call {{.*}}alloc::vec::from_elem
-    // CHECK-NOT: call {{.*}}reserve
-    // CHECK-NOT: call {{.*}}__rust_alloc(
-
-    // CHECK: call {{.*}}__rust_alloc_zeroed(
-
-    // CHECK-NOT: call {{.*}}alloc::vec::from_elem
-    // CHECK-NOT: call {{.*}}reserve
-    // CHECK-NOT: call {{.*}}__rust_alloc(
-
-    // CHECK: ret void
-    vec![[0_i64; 16]; n]
-}
-
-// CHECK-LABEL: @vec_zero_tuple
-#[no_mangle]
-pub fn vec_zero_tuple(n: usize) -> Vec<(i16, u8, char)> {
-    // CHECK-NOT: call {{.*}}alloc::vec::from_elem
-    // CHECK-NOT: call {{.*}}reserve
-    // CHECK-NOT: call {{.*}}__rust_alloc(
-
-    // CHECK: call {{.*}}__rust_alloc_zeroed(
-
-    // CHECK-NOT: call {{.*}}alloc::vec::from_elem
-    // CHECK-NOT: call {{.*}}reserve
-    // CHECK-NOT: call {{.*}}__rust_alloc(
-
-    // CHECK: ret void
-    vec![(0, 0, '\0'); n]
-}
-
-// CHECK-LABEL: @vec_non_zero_tuple
-#[no_mangle]
-pub fn vec_non_zero_tuple(n: usize) -> Vec<(i16, u8, char)> {
-    // CHECK-NOT: call {{.*}}alloc::vec::from_elem
-    // CHECK-NOT: call {{.*}}reserve
-    // CHECK-NOT: call {{.*}}__rust_alloc_zeroed(
-
-    // CHECK: call {{.*}}__rust_alloc(
-
-    // CHECK-NOT: call {{.*}}alloc::vec::from_elem
-    // CHECK-NOT: call {{.*}}reserve
-    // CHECK-NOT: call {{.*}}__rust_alloc_zeroed(
-
-    // CHECK: ret void
-    vec![(0, 0, 'A'); n]
-}