about summary refs log tree commit diff
path: root/tests/codegen
diff options
context:
space:
mode:
authorThe Miri Cronjob Bot <miri@cron.bot>2025-05-28 05:00:57 +0000
committerThe Miri Cronjob Bot <miri@cron.bot>2025-05-28 05:00:57 +0000
commit15f0fb03bbe83245c0fc21775a152e59193fb059 (patch)
treed03e91ea1b65f9e35d10554b8acf7e8c8cdd929e /tests/codegen
parent9d9206c398c22c5408a737365fb4eda017d7e215 (diff)
parentcd4f199db24c5f2f65c752555a39256f3955f68b (diff)
downloadrust-15f0fb03bbe83245c0fc21775a152e59193fb059.tar.gz
rust-15f0fb03bbe83245c0fc21775a152e59193fb059.zip
Merge from rustc
Diffstat (limited to 'tests/codegen')
-rw-r--r--tests/codegen/option-niche-eq.rs11
-rw-r--r--tests/codegen/option-niche-unfixed/option-bool-eq.rs15
2 files changed, 11 insertions, 15 deletions
diff --git a/tests/codegen/option-niche-eq.rs b/tests/codegen/option-niche-eq.rs
index a39e2870a0f..3900cb79aa2 100644
--- a/tests/codegen/option-niche-eq.rs
+++ b/tests/codegen/option-niche-eq.rs
@@ -1,5 +1,7 @@
+//@ revisions: REGULAR LLVM21
 //@ min-llvm-version: 20
 //@ compile-flags: -Copt-level=3 -Zmerge-functions=disabled
+//@ [LLVM21] min-llvm-version: 21
 #![crate_type = "lib"]
 
 extern crate core;
@@ -74,3 +76,12 @@ pub fn niche_eq(l: Option<EnumWithNiche>, r: Option<EnumWithNiche>) -> bool {
     // CHECK-NEXT: ret i1
     l == r
 }
+
+// LLVM21-LABEL: @bool_eq
+#[no_mangle]
+pub fn bool_eq(l: Option<bool>, r: Option<bool>) -> bool {
+    // LLVM21: start:
+    // LLVM21-NEXT: icmp eq i8
+    // LLVM21-NEXT: ret i1
+    l == r
+}
diff --git a/tests/codegen/option-niche-unfixed/option-bool-eq.rs b/tests/codegen/option-niche-unfixed/option-bool-eq.rs
deleted file mode 100644
index fa0e7836afb..00000000000
--- a/tests/codegen/option-niche-unfixed/option-bool-eq.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-//@ should-fail
-//@ compile-flags: -Copt-level=3 -Zmerge-functions=disabled
-//! FIXME(#49892)
-//! Tests that LLVM does not fully optimize comparisons of `Option<bool>`.
-//! If this starts passing, it can be moved to `tests/codegen/option-niche-eq.rs`
-#![crate_type = "lib"]
-
-// CHECK-LABEL: @bool_eq
-#[no_mangle]
-pub fn bool_eq(l: Option<bool>, r: Option<bool>) -> bool {
-    // CHECK: start:
-    // CHECK-NEXT: icmp eq i8
-    // CHECK-NEXT: ret i1
-    l == r
-}