From e32b975e840e99748b947884505b74ebe4bd23b9 Mon Sep 17 00:00:00 2001 From: Augie Fackler Date: Thu, 18 Sep 2025 14:23:43 -0400 Subject: [PATCH 1/2] tests: relax expectations after llvm change 902ddda120a5 LLVM 22 is able to drop assumes that seem to not help further optimizations, which actually seems to dramatically _help_ further optimizations in some of our small test cases. --- .../issues/issue-122600-ptr-discriminant-update.rs | 7 +++++-- tests/codegen-llvm/vec_pop_push_noop.rs | 5 ++++- tests/codegen-llvm/vecdeque_pop_push.rs | 5 ++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/tests/codegen-llvm/issues/issue-122600-ptr-discriminant-update.rs b/tests/codegen-llvm/issues/issue-122600-ptr-discriminant-update.rs index 853a1ff36b109..631468d8c217a 100644 --- a/tests/codegen-llvm/issues/issue-122600-ptr-discriminant-update.rs +++ b/tests/codegen-llvm/issues/issue-122600-ptr-discriminant-update.rs @@ -1,4 +1,7 @@ //@ compile-flags: -Copt-level=3 +//@ revisions: new old +//@ [old] ignore-llvm-version: 22 - 99 +//@ [new] min-llvm-version: 22 #![crate_type = "lib"] @@ -22,8 +25,8 @@ pub unsafe fn update(s: *mut State) { // CHECK-NOT: memcpy // CHECK-NOT: 75{{3|4}} - // CHECK: %[[TAG:.+]] = load i8, ptr %s, align 1 - // CHECK-NEXT: trunc nuw i8 %[[TAG]] to i1 + // old: %[[TAG:.+]] = load i8, ptr %s, align 1 + // old-NEXT: trunc nuw i8 %[[TAG]] to i1 // CHECK-NOT: load // CHECK-NOT: store diff --git a/tests/codegen-llvm/vec_pop_push_noop.rs b/tests/codegen-llvm/vec_pop_push_noop.rs index 3e375219fe018..fadc6e99dc7a6 100644 --- a/tests/codegen-llvm/vec_pop_push_noop.rs +++ b/tests/codegen-llvm/vec_pop_push_noop.rs @@ -1,4 +1,7 @@ //@ compile-flags: -Copt-level=3 +//@ revisions: new old +//@ [old] ignore-llvm-version: 22 - 99 +//@ [new] min-llvm-version: 22 #![crate_type = "lib"] @@ -7,7 +10,7 @@ pub fn noop(v: &mut Vec) { // CHECK-NOT: grow_one // CHECK-NOT: call - // CHECK: tail call void @llvm.assume + // old: tail call void @llvm.assume // CHECK-NOT: grow_one // CHECK-NOT: call // CHECK: {{ret|[}]}} diff --git a/tests/codegen-llvm/vecdeque_pop_push.rs b/tests/codegen-llvm/vecdeque_pop_push.rs index 5afa1b2248b0e..7886db3fedeba 100644 --- a/tests/codegen-llvm/vecdeque_pop_push.rs +++ b/tests/codegen-llvm/vecdeque_pop_push.rs @@ -1,4 +1,7 @@ //@ compile-flags: -Copt-level=3 +//@ revisions: new old +//@ [old] ignore-llvm-version: 22 - 99 +//@ [new] min-llvm-version: 22 #![crate_type = "lib"] @@ -8,7 +11,7 @@ use std::collections::VecDeque; // CHECK-LABEL: @noop_back( pub fn noop_back(v: &mut VecDeque) { // CHECK-NOT: grow - // CHECK: tail call void @llvm.assume + // old: tail call void @llvm.assume // CHECK-NOT: grow // CHECK: ret if let Some(x) = v.pop_back() { From 99456cc015114874319744a07afc1ba94a32315a Mon Sep 17 00:00:00 2001 From: Augie Fackler Date: Fri, 26 Sep 2025 13:32:03 -0400 Subject: [PATCH 2/2] tests: use max-llvm-major-version instead of ignore-llvm-version --- .../codegen-llvm/issues/issue-122600-ptr-discriminant-update.rs | 2 +- tests/codegen-llvm/vec_pop_push_noop.rs | 2 +- tests/codegen-llvm/vecdeque_pop_push.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/codegen-llvm/issues/issue-122600-ptr-discriminant-update.rs b/tests/codegen-llvm/issues/issue-122600-ptr-discriminant-update.rs index 631468d8c217a..a0b453fac8e93 100644 --- a/tests/codegen-llvm/issues/issue-122600-ptr-discriminant-update.rs +++ b/tests/codegen-llvm/issues/issue-122600-ptr-discriminant-update.rs @@ -1,6 +1,6 @@ //@ compile-flags: -Copt-level=3 //@ revisions: new old -//@ [old] ignore-llvm-version: 22 - 99 +//@ [old] max-llvm-major-version: 21 //@ [new] min-llvm-version: 22 #![crate_type = "lib"] diff --git a/tests/codegen-llvm/vec_pop_push_noop.rs b/tests/codegen-llvm/vec_pop_push_noop.rs index fadc6e99dc7a6..977c220b3baef 100644 --- a/tests/codegen-llvm/vec_pop_push_noop.rs +++ b/tests/codegen-llvm/vec_pop_push_noop.rs @@ -1,6 +1,6 @@ //@ compile-flags: -Copt-level=3 //@ revisions: new old -//@ [old] ignore-llvm-version: 22 - 99 +//@ [old] max-llvm-major-version: 21 //@ [new] min-llvm-version: 22 #![crate_type = "lib"] diff --git a/tests/codegen-llvm/vecdeque_pop_push.rs b/tests/codegen-llvm/vecdeque_pop_push.rs index 7886db3fedeba..6f9ad6674d6cd 100644 --- a/tests/codegen-llvm/vecdeque_pop_push.rs +++ b/tests/codegen-llvm/vecdeque_pop_push.rs @@ -1,6 +1,6 @@ //@ compile-flags: -Copt-level=3 //@ revisions: new old -//@ [old] ignore-llvm-version: 22 - 99 +//@ [old] max-llvm-major-version: 21 //@ [new] min-llvm-version: 22 #![crate_type = "lib"]