summaryrefslogtreecommitdiffstats
path: root/src/test/incremental/thinlto/cgu_keeps_identical_fn.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:13 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:13 +0000
commit218caa410aa38c29984be31a5229b9fa717560ee (patch)
treec54bd55eeb6e4c508940a30e94c0032fbd45d677 /src/test/incremental/thinlto/cgu_keeps_identical_fn.rs
parentReleasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff)
downloadrustc-218caa410aa38c29984be31a5229b9fa717560ee.tar.xz
rustc-218caa410aa38c29984be31a5229b9fa717560ee.zip
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/incremental/thinlto/cgu_keeps_identical_fn.rs')
-rw-r--r--src/test/incremental/thinlto/cgu_keeps_identical_fn.rs72
1 files changed, 0 insertions, 72 deletions
diff --git a/src/test/incremental/thinlto/cgu_keeps_identical_fn.rs b/src/test/incremental/thinlto/cgu_keeps_identical_fn.rs
deleted file mode 100644
index 31f329a7f..000000000
--- a/src/test/incremental/thinlto/cgu_keeps_identical_fn.rs
+++ /dev/null
@@ -1,72 +0,0 @@
-// This test is almost identical to `cgu_invalided_via_import`, except that
-// the two versions of `inline_fn` are identical. Neither version of `inlined_fn`
-// ends up with any spans in its LLVM bitecode, so LLVM is able to skip
-// re-building any modules which import 'inlined_fn'
-
-// revisions: cfail1 cfail2 cfail3 cfail4 cfail5 cfail6
-// [cfail4]compile-flags: -Zincremental-relative-spans
-// [cfail5]compile-flags: -Zincremental-relative-spans
-// [cfail6]compile-flags: -Zincremental-relative-spans
-// compile-flags: -Z query-dep-graph -O
-// build-pass (FIXME(62277): could be check-pass?)
-
-#![feature(rustc_attrs)]
-#![crate_type = "rlib"]
-#![rustc_expected_cgu_reuse(module = "cgu_keeps_identical_fn-foo", cfg = "cfail2", kind = "no")]
-#![rustc_expected_cgu_reuse(
- module = "cgu_keeps_identical_fn-foo",
- cfg = "cfail3",
- kind = "post-lto"
-)]
-#![rustc_expected_cgu_reuse(
- module = "cgu_keeps_identical_fn-foo",
- cfg = "cfail5",
- kind = "post-lto"
-)]
-#![rustc_expected_cgu_reuse(
- module = "cgu_keeps_identical_fn-foo",
- cfg = "cfail6",
- kind = "post-lto"
-)]
-#![rustc_expected_cgu_reuse(
- module = "cgu_keeps_identical_fn-bar",
- cfg = "cfail2",
- kind = "post-lto"
-)]
-#![rustc_expected_cgu_reuse(
- module = "cgu_keeps_identical_fn-bar",
- cfg = "cfail3",
- kind = "post-lto"
-)]
-#![rustc_expected_cgu_reuse(
- module = "cgu_keeps_identical_fn-bar",
- cfg = "cfail5",
- kind = "post-lto"
-)]
-#![rustc_expected_cgu_reuse(
- module = "cgu_keeps_identical_fn-bar",
- cfg = "cfail6",
- kind = "post-lto"
-)]
-
-mod foo {
-
- // Trivial functions like this one are imported very reliably by ThinLTO.
- #[cfg(any(cfail1, cfail4))]
- pub fn inlined_fn() -> u32 {
- 1234
- }
-
- #[cfg(not(any(cfail1, cfail4)))]
- pub fn inlined_fn() -> u32 {
- 1234
- }
-}
-
-pub mod bar {
- use foo::inlined_fn;
-
- pub fn caller() -> u32 {
- inlined_fn()
- }
-}