diff options
| author | Ben Kimock <kimockb@gmail.com> | 2025-08-26 21:08:03 -0400 |
|---|---|---|
| committer | Ben Kimock <kimockb@gmail.com> | 2025-09-05 20:44:49 -0400 |
| commit | ab91a63d403b0105cacd72809cd292a72984ed99 (patch) | |
| tree | f0404f030d8c9fd6a38b082a98fb830eb88d5bfe /tests/codegen-llvm/cross-crate-inlining | |
| parent | 51ff895062ba60a7cba53f57af928c3fb7b0f2f4 (diff) | |
| download | rust-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.rs | 5 | ||||
| -rw-r--r-- | tests/codegen-llvm/cross-crate-inlining/leaf-inlining.rs | 7 |
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) +} |
