about summary refs log tree commit diff
path: root/tests/codegen-llvm/cross-crate-inlining
diff options
context:
space:
mode:
authorBen Kimock <kimockb@gmail.com>2025-08-26 21:08:03 -0400
committerBen Kimock <kimockb@gmail.com>2025-09-05 20:44:49 -0400
commitab91a63d403b0105cacd72809cd292a72984ed99 (patch)
treef0404f030d8c9fd6a38b082a98fb830eb88d5bfe /tests/codegen-llvm/cross-crate-inlining
parent51ff895062ba60a7cba53f57af928c3fb7b0f2f4 (diff)
downloadrust-ab91a63d403b0105cacd72809cd292a72984ed99.tar.gz
rust-ab91a63d403b0105cacd72809cd292a72984ed99.zip
Ignore intrinsic calls in cross-crate-inlining cost model
Diffstat (limited to 'tests/codegen-llvm/cross-crate-inlining')
-rw-r--r--tests/codegen-llvm/cross-crate-inlining/auxiliary/leaf.rs5
-rw-r--r--tests/codegen-llvm/cross-crate-inlining/leaf-inlining.rs7
2 files changed, 12 insertions, 0 deletions
diff --git a/tests/codegen-llvm/cross-crate-inlining/auxiliary/leaf.rs b/tests/codegen-llvm/cross-crate-inlining/auxiliary/leaf.rs
index d059a3d0a73..7b5679c3f4d 100644
--- a/tests/codegen-llvm/cross-crate-inlining/auxiliary/leaf.rs
+++ b/tests/codegen-llvm/cross-crate-inlining/auxiliary/leaf.rs
@@ -18,3 +18,8 @@ pub fn stem_fn() -> String {
 fn inner() -> String {
     String::from("test")
 }
+
+// This function's optimized MIR contains a call, but it is to an intrinsic.
+pub fn leaf_with_intrinsic(a: &[u64; 2], b: &[u64; 2]) -> bool {
+    a == b
+}
diff --git a/tests/codegen-llvm/cross-crate-inlining/leaf-inlining.rs b/tests/codegen-llvm/cross-crate-inlining/leaf-inlining.rs
index 37132312ca9..5e7912791ad 100644
--- a/tests/codegen-llvm/cross-crate-inlining/leaf-inlining.rs
+++ b/tests/codegen-llvm/cross-crate-inlining/leaf-inlining.rs
@@ -18,3 +18,10 @@ pub fn stem_outer() -> String {
     // CHECK: call {{.*}}stem_fn
     leaf::stem_fn()
 }
+
+// Check that we inline functions that call intrinsics
+#[no_mangle]
+pub fn leaf_with_intrinsic_outer(a: &[u64; 2], b: &[u64; 2]) -> bool {
+    // CHECK-NOT: call {{.*}}leaf_with_intrinsic
+    leaf::leaf_with_intrinsic(a, b)
+}