// Emitting dep-info files used to not have any mention of PGO profiles used // in compilation, which meant these profiles could be changed without consequence. // After changing this in #100801, this test checks that the profile data is successfully // included in dep-info emit files. // See https://github.com/rust-lang/rust/pull/100801 //@ ignore-cross-compile // Reason: the binary is executed //@ needs-profiler-runtime use run_make_support::{llvm_profdata, rfs, run, rustc}; fn main() { // Generate the profile-guided-optimization (PGO) profiles rustc().profile_generate("profiles").input("main.rs").run(); // Merge the profiles run("main"); llvm_profdata().merge().output("merged.profdata").input("profiles").run(); // Use the profiles in compilation rustc().profile_use("merged.profdata").emit("dep-info").input("main.rs").run(); // Check that the profile file is in the dep-info emit file assert!(rfs::read_to_string("main.d").contains("merged.profdata")); }