summary refs log tree commit diff
path: root/tests/codegen/cross-crate-inlining/leaf-inlining.rs
diff options
context:
space:
mode:
authorBen Kimock <kimockb@gmail.com>2023-11-06 19:55:05 -0500
committerBen Kimock <kimockb@gmail.com>2023-11-07 18:45:11 -0500
commitfcdd99edcad6e77ecc11fb5066cec3db10ee6054 (patch)
tree843d1923191b28a1c1f8199c288af543ad887d29 /tests/codegen/cross-crate-inlining/leaf-inlining.rs
parentaea82b268a7680b736be00e837eb8e32bc42a2da (diff)
downloadrust-fcdd99edcad6e77ecc11fb5066cec3db10ee6054.tar.gz
rust-fcdd99edcad6e77ecc11fb5066cec3db10ee6054.zip
Add -Zcross-crate-inline-threshold=yes
Diffstat (limited to 'tests/codegen/cross-crate-inlining/leaf-inlining.rs')
-rw-r--r--tests/codegen/cross-crate-inlining/leaf-inlining.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/codegen/cross-crate-inlining/leaf-inlining.rs b/tests/codegen/cross-crate-inlining/leaf-inlining.rs
new file mode 100644
index 00000000000..73b1a520b06
--- /dev/null
+++ b/tests/codegen/cross-crate-inlining/leaf-inlining.rs
@@ -0,0 +1,20 @@
+// compile-flags: -O -Zcross-crate-inline-threshold=yes
+// aux-build:leaf.rs
+
+#![crate_type = "lib"]
+
+extern crate leaf;
+
+// Check that we inline a leaf cross-crate call
+#[no_mangle]
+pub fn leaf_outer() -> String {
+    // CHECK-NOT: call {{.*}}leaf_fn
+    leaf::leaf_fn()
+}
+
+// Check that we do not inline a non-leaf cross-crate call
+#[no_mangle]
+pub fn stem_outer() -> String {
+    // CHECK: call {{.*}}stem_fn
+    leaf::stem_fn()
+}