$ echo 'fn main() {}' | RUSTC_LOG=rustc_codegen_llvm::back rustc - -Cincremental=i -Clto=thin
warning: some trace filter directives would enable traces that are disabled statically
| `rustc_codegen_llvm::back=trace` would enable the TRACE level for the `rustc_codegen_llvm::back` target
= note: the static max level is `info`
= help: to enable DEBUG logging, remove the `max_level_info` feature from the `tracing` crate
INFO rustc_codegen_llvm::back::lto adding bitcode from std-97ad18f5ff73ac59.std.eb0a984909e3e9db-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto adding bitcode from panic_unwind-6d74918d8c9fc8eb.panic_unwind.2c8f5aefaa401768-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto adding bitcode from object-93fe4a6732f49df4.object.23ed47b63b254e1f-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto adding bitcode from memchr-6d799c7a867f65ec.memchr.9857587667506101-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto adding bitcode from addr2line-25929983526f04fa.addr2line.c0ce80aede3d4387-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto adding bitcode from gimli-45b43a86c98f869a.gimli.4bcf315d396003be-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto adding bitcode from cfg_if-3367568ca42d58f6.cfg_if.24f6f58b1e6c0512-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto adding bitcode from rustc_demangle-917b4137dcc16c1a.rustc_demangle.faed9c870cf8c981-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto adding bitcode from std_detect-89da0f264c038cfd.std_detect.3472883a54d5ea88-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto adding bitcode from hashbrown-708d53ebeba09f31.hashbrown.75685bee96dce093-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto adding bitcode from rustc_std_workspace_alloc-e9dc45f98c8ec199.rustc_std_workspace_alloc.2a9edd1fe8ec284e-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto adding bitcode from miniz_oxide-ed184832220c0641.miniz_oxide.aa3c4a081c6dccb-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto adding bitcode from adler2-336aefd7b842107c.adler2.17cc26489f12f344-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto adding bitcode from unwind-d8feb668298a034e.unwind.4ba8e0ce54b89e2a-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto adding bitcode from libc-93b6ac19591830f2.libc.5723d27d479e3139-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto adding bitcode from rustc_std_workspace_core-5d9a775410d678c7.rustc_std_workspace_core.38ed106ace1adde5-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto adding bitcode from alloc-63de78ca4b0f7b13.alloc.c8499e84c8ebed9c-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto adding bitcode from core-0b74e43f28b113df.core.65ad41b0d205847a-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto going for that thin, thin LTO
INFO rustc_codegen_llvm::back::lto local module: 0 - 6lae4cjdhmree6e3dytjzcywj
INFO rustc_codegen_llvm::back::lto upstream or cached module "std-97ad18f5ff73ac59.std.eb0a984909e3e9db-cgu.0.rcgu.o"
INFO rustc_codegen_llvm::back::lto upstream or cached module "panic_unwind-6d74918d8c9fc8eb.panic_unwind.2c8f5aefaa401768-cgu.0.rcgu.o"
INFO rustc_codegen_llvm::back::lto upstream or cached module "object-93fe4a6732f49df4.object.23ed47b63b254e1f-cgu.0.rcgu.o"
INFO rustc_codegen_llvm::back::lto upstream or cached module "memchr-6d799c7a867f65ec.memchr.9857587667506101-cgu.0.rcgu.o"
INFO rustc_codegen_llvm::back::lto upstream or cached module "addr2line-25929983526f04fa.addr2line.c0ce80aede3d4387-cgu.0.rcgu.o"
INFO rustc_codegen_llvm::back::lto upstream or cached module "gimli-45b43a86c98f869a.gimli.4bcf315d396003be-cgu.0.rcgu.o"
INFO rustc_codegen_llvm::back::lto upstream or cached module "cfg_if-3367568ca42d58f6.cfg_if.24f6f58b1e6c0512-cgu.0.rcgu.o"
INFO rustc_codegen_llvm::back::lto upstream or cached module "rustc_demangle-917b4137dcc16c1a.rustc_demangle.faed9c870cf8c981-cgu.0.rcgu.o"
INFO rustc_codegen_llvm::back::lto upstream or cached module "std_detect-89da0f264c038cfd.std_detect.3472883a54d5ea88-cgu.0.rcgu.o"
INFO rustc_codegen_llvm::back::lto upstream or cached module "hashbrown-708d53ebeba09f31.hashbrown.75685bee96dce093-cgu.0.rcgu.o"
INFO rustc_codegen_llvm::back::lto upstream or cached module "rustc_std_workspace_alloc-e9dc45f98c8ec199.rustc_std_workspace_alloc.2a9edd1fe8ec284e-cgu.0.rcgu.o"
INFO rustc_codegen_llvm::back::lto upstream or cached module "miniz_oxide-ed184832220c0641.miniz_oxide.aa3c4a081c6dccb-cgu.0.rcgu.o"
INFO rustc_codegen_llvm::back::lto upstream or cached module "adler2-336aefd7b842107c.adler2.17cc26489f12f344-cgu.0.rcgu.o"
INFO rustc_codegen_llvm::back::lto upstream or cached module "unwind-d8feb668298a034e.unwind.4ba8e0ce54b89e2a-cgu.0.rcgu.o"
INFO rustc_codegen_llvm::back::lto upstream or cached module "libc-93b6ac19591830f2.libc.5723d27d479e3139-cgu.0.rcgu.o"
INFO rustc_codegen_llvm::back::lto upstream or cached module "rustc_std_workspace_core-5d9a775410d678c7.rustc_std_workspace_core.38ed106ace1adde5-cgu.0.rcgu.o"
INFO rustc_codegen_llvm::back::lto upstream or cached module "alloc-63de78ca4b0f7b13.alloc.c8499e84c8ebed9c-cgu.0.rcgu.o"
INFO rustc_codegen_llvm::back::lto upstream or cached module "core-0b74e43f28b113df.core.65ad41b0d205847a-cgu.0.rcgu.o"
INFO rustc_codegen_llvm::back::lto upstream or cached module "c70u0a76x19t4gww0jvj6yao8"
INFO rustc_codegen_llvm::back::lto upstream or cached module "chne6zhcy9x85cp0h2x5aqu0m"
INFO rustc_codegen_llvm::back::lto upstream or cached module "18jjsdd37c3gq3h2osg79u26t"
INFO rustc_codegen_llvm::back::lto upstream or cached module "d8ox0gwb3a4do5jzgumfggb4p"
INFO rustc_codegen_llvm::back::lto upstream or cached module "cjc4ymmspqlie6c93a6aq3hdm"
INFO rustc_codegen_llvm::back::lto thin LTO data created
INFO rustc_codegen_llvm::back::lto thin LTO cache key map loaded
INFO rustc_codegen_llvm::back::lto prev_key_map: Some(
ThinLTOKeysMap {
keys: {
"18jjsdd37c3gq3h2osg79u26t": "1A07C247D9E640DDB4C6A4C3768F0A91B6076465",
"6lae4cjdhmree6e3dytjzcywj": "F1EDCCF55AABA8D5D1973CEF29B2460EACED894A",
"addr2line-25929983526f04fa.addr2line.c0ce80aede3d4387-cgu.0.rcgu.o": "58BD95A74B698B630367B8D9C8003AFCBFA41B06",
"adler2-336aefd7b842107c.adler2.17cc26489f12f344-cgu.0.rcgu.o": "D1359BD89B4B7F6DFBED758F4F8803183970EC04",
"alloc-63de78ca4b0f7b13.alloc.c8499e84c8ebed9c-cgu.0.rcgu.o": "296C7F99478A15A1BFE17A7B96827D30EAB8272E",
"c70u0a76x19t4gww0jvj6yao8": "C73EA2E7CAC6B5C328B89BE28B317C845A7756F2",
"cfg_if-3367568ca42d58f6.cfg_if.24f6f58b1e6c0512-cgu.0.rcgu.o": "B94F0408A018DEFB82E2ADBE52ADB9A3973C1A84",
"chne6zhcy9x85cp0h2x5aqu0m": "3EE6A4F3F7D88032ADAFA4A6EAEE161ABC76CE8F",
"cjc4ymmspqlie6c93a6aq3hdm": "E672F1DB0CBBDC0E3AE6D54360B2203847B5DA89",
"core-0b74e43f28b113df.core.65ad41b0d205847a-cgu.0.rcgu.o": "726553BB6C60FF201B5516502FF256FD9FC7D924",
"d8ox0gwb3a4do5jzgumfggb4p": "5313E5DEF9C845E41259478DA6CE8BE9D67B8B6A",
"gimli-45b43a86c98f869a.gimli.4bcf315d396003be-cgu.0.rcgu.o": "F336E621AE74B9F2AE13E23FC3DACF15FF1F17C8",
"hashbrown-708d53ebeba09f31.hashbrown.75685bee96dce093-cgu.0.rcgu.o": "36C19A9D0EB535EE0E9DC12AD424312E9B3A34C6",
"libc-93b6ac19591830f2.libc.5723d27d479e3139-cgu.0.rcgu.o": "AEC2BF1AC99E3536ACECD3E33E5E9608DD5FEB0A",
"memchr-6d799c7a867f65ec.memchr.9857587667506101-cgu.0.rcgu.o": "F09F9EC99D94A8ECE980A2CC8C6950A701D712EA",
"miniz_oxide-ed184832220c0641.miniz_oxide.aa3c4a081c6dccb-cgu.0.rcgu.o": "41433802828A60FEEDE0A7D9E7D1F3051097416B",
"object-93fe4a6732f49df4.object.23ed47b63b254e1f-cgu.0.rcgu.o": "389CBB69C7A8769E499E97ECF9AFF0E58460D865",
"panic_unwind-6d74918d8c9fc8eb.panic_unwind.2c8f5aefaa401768-cgu.0.rcgu.o": "0C1456DF798DA045B018BC714EC1E7B7D7A80AF2",
"rustc_demangle-917b4137dcc16c1a.rustc_demangle.faed9c870cf8c981-cgu.0.rcgu.o": "A09E27B2414E8104906E8DD8B85D24CA46441FC5",
"rustc_std_workspace_alloc-e9dc45f98c8ec199.rustc_std_workspace_alloc.2a9edd1fe8ec284e-cgu.0.rcgu.o": "2DA83DC76E47D24DCB43BE759CCC56CCD5DDA312",
"rustc_std_workspace_core-5d9a775410d678c7.rustc_std_workspace_core.38ed106ace1adde5-cgu.0.rcgu.o": "0BA0C636CC5F9DB300FD3715B2330C6F4B9AA074",
"std-97ad18f5ff73ac59.std.eb0a984909e3e9db-cgu.0.rcgu.o": "534E18DF0ED9E1B7311A57313B1A4AF5237D27CA",
"std_detect-89da0f264c038cfd.std_detect.3472883a54d5ea88-cgu.0.rcgu.o": "9AF87D9E47AD3C1CB15D036C9FCB07A48CE68D70",
"unwind-d8feb668298a034e.unwind.4ba8e0ce54b89e2a-cgu.0.rcgu.o": "7F2936A470B7EE86B6E04DA189E9CFB137D29DED",
},
},
)
INFO rustc_codegen_llvm::back::lto curr_key_map: ThinLTOKeysMap {
keys: {
"18jjsdd37c3gq3h2osg79u26t": "1A07C247D9E640DDB4C6A4C3768F0A91B6076465",
"6lae4cjdhmree6e3dytjzcywj": "F1EDCCF55AABA8D5D1973CEF29B2460EACED894A",
"addr2line-25929983526f04fa.addr2line.c0ce80aede3d4387-cgu.0.rcgu.o": "58BD95A74B698B630367B8D9C8003AFCBFA41B06",
"adler2-336aefd7b842107c.adler2.17cc26489f12f344-cgu.0.rcgu.o": "D1359BD89B4B7F6DFBED758F4F8803183970EC04",
"alloc-63de78ca4b0f7b13.alloc.c8499e84c8ebed9c-cgu.0.rcgu.o": "296C7F99478A15A1BFE17A7B96827D30EAB8272E",
"c70u0a76x19t4gww0jvj6yao8": "C73EA2E7CAC6B5C328B89BE28B317C845A7756F2",
"cfg_if-3367568ca42d58f6.cfg_if.24f6f58b1e6c0512-cgu.0.rcgu.o": "B94F0408A018DEFB82E2ADBE52ADB9A3973C1A84",
"chne6zhcy9x85cp0h2x5aqu0m": "3EE6A4F3F7D88032ADAFA4A6EAEE161ABC76CE8F",
"cjc4ymmspqlie6c93a6aq3hdm": "E672F1DB0CBBDC0E3AE6D54360B2203847B5DA89",
"core-0b74e43f28b113df.core.65ad41b0d205847a-cgu.0.rcgu.o": "726553BB6C60FF201B5516502FF256FD9FC7D924",
"d8ox0gwb3a4do5jzgumfggb4p": "5313E5DEF9C845E41259478DA6CE8BE9D67B8B6A",
"gimli-45b43a86c98f869a.gimli.4bcf315d396003be-cgu.0.rcgu.o": "F336E621AE74B9F2AE13E23FC3DACF15FF1F17C8",
"hashbrown-708d53ebeba09f31.hashbrown.75685bee96dce093-cgu.0.rcgu.o": "36C19A9D0EB535EE0E9DC12AD424312E9B3A34C6",
"libc-93b6ac19591830f2.libc.5723d27d479e3139-cgu.0.rcgu.o": "AEC2BF1AC99E3536ACECD3E33E5E9608DD5FEB0A",
"memchr-6d799c7a867f65ec.memchr.9857587667506101-cgu.0.rcgu.o": "F09F9EC99D94A8ECE980A2CC8C6950A701D712EA",
"miniz_oxide-ed184832220c0641.miniz_oxide.aa3c4a081c6dccb-cgu.0.rcgu.o": "41433802828A60FEEDE0A7D9E7D1F3051097416B",
"object-93fe4a6732f49df4.object.23ed47b63b254e1f-cgu.0.rcgu.o": "389CBB69C7A8769E499E97ECF9AFF0E58460D865",
"panic_unwind-6d74918d8c9fc8eb.panic_unwind.2c8f5aefaa401768-cgu.0.rcgu.o": "0C1456DF798DA045B018BC714EC1E7B7D7A80AF2",
"rustc_demangle-917b4137dcc16c1a.rustc_demangle.faed9c870cf8c981-cgu.0.rcgu.o": "A09E27B2414E8104906E8DD8B85D24CA46441FC5",
"rustc_std_workspace_alloc-e9dc45f98c8ec199.rustc_std_workspace_alloc.2a9edd1fe8ec284e-cgu.0.rcgu.o": "2DA83DC76E47D24DCB43BE759CCC56CCD5DDA312",
"rustc_std_workspace_core-5d9a775410d678c7.rustc_std_workspace_core.38ed106ace1adde5-cgu.0.rcgu.o": "0BA0C636CC5F9DB300FD3715B2330C6F4B9AA074",
"std-97ad18f5ff73ac59.std.eb0a984909e3e9db-cgu.0.rcgu.o": "534E18DF0ED9E1B7311A57313B1A4AF5237D27CA",
"std_detect-89da0f264c038cfd.std_detect.3472883a54d5ea88-cgu.0.rcgu.o": "9AF87D9E47AD3C1CB15D036C9FCB07A48CE68D70",
"unwind-d8feb668298a034e.unwind.4ba8e0ce54b89e2a-cgu.0.rcgu.o": "7F2936A470B7EE86B6E04DA189E9CFB137D29DED",
},
}
INFO rustc_codegen_llvm::back::lto checking which modules can be-reused and which have to be re-optimized.
INFO rustc_codegen_llvm::back::lto - 6lae4cjdhmree6e3dytjzcywj: re-compiled
INFO rustc_codegen_llvm::back::lto - std-97ad18f5ff73ac59.std.eb0a984909e3e9db-cgu.0.rcgu.o: re-compiled
INFO rustc_codegen_llvm::back::lto - panic_unwind-6d74918d8c9fc8eb.panic_unwind.2c8f5aefaa401768-cgu.0.rcgu.o: re-compiled
INFO rustc_codegen_llvm::back::lto - object-93fe4a6732f49df4.object.23ed47b63b254e1f-cgu.0.rcgu.o: re-compiled
INFO rustc_codegen_llvm::back::lto - memchr-6d799c7a867f65ec.memchr.9857587667506101-cgu.0.rcgu.o: re-compiled
INFO rustc_codegen_llvm::back::lto - addr2line-25929983526f04fa.addr2line.c0ce80aede3d4387-cgu.0.rcgu.o: re-compiled
INFO rustc_codegen_llvm::back::lto - gimli-45b43a86c98f869a.gimli.4bcf315d396003be-cgu.0.rcgu.o: re-compiled
INFO rustc_codegen_llvm::back::lto - cfg_if-3367568ca42d58f6.cfg_if.24f6f58b1e6c0512-cgu.0.rcgu.o: re-compiled
INFO rustc_codegen_llvm::back::lto - rustc_demangle-917b4137dcc16c1a.rustc_demangle.faed9c870cf8c981-cgu.0.rcgu.o: re-compiled
INFO rustc_codegen_llvm::back::lto - std_detect-89da0f264c038cfd.std_detect.3472883a54d5ea88-cgu.0.rcgu.o: re-compiled
INFO rustc_codegen_llvm::back::lto - hashbrown-708d53ebeba09f31.hashbrown.75685bee96dce093-cgu.0.rcgu.o: re-compiled
INFO rustc_codegen_llvm::back::lto - rustc_std_workspace_alloc-e9dc45f98c8ec199.rustc_std_workspace_alloc.2a9edd1fe8ec284e-cgu.0.rcgu.o: re-compiled
INFO rustc_codegen_llvm::back::lto - miniz_oxide-ed184832220c0641.miniz_oxide.aa3c4a081c6dccb-cgu.0.rcgu.o: re-compiled
INFO rustc_codegen_llvm::back::lto - adler2-336aefd7b842107c.adler2.17cc26489f12f344-cgu.0.rcgu.o: re-compiled
INFO rustc_codegen_llvm::back::lto - unwind-d8feb668298a034e.unwind.4ba8e0ce54b89e2a-cgu.0.rcgu.o: re-compiled
INFO rustc_codegen_llvm::back::lto - libc-93b6ac19591830f2.libc.5723d27d479e3139-cgu.0.rcgu.o: re-compiled
INFO rustc_codegen_llvm::back::lto - rustc_std_workspace_core-5d9a775410d678c7.rustc_std_workspace_core.38ed106ace1adde5-cgu.0.rcgu.o: re-compiled
INFO rustc_codegen_llvm::back::lto - alloc-63de78ca4b0f7b13.alloc.c8499e84c8ebed9c-cgu.0.rcgu.o: re-compiled
INFO rustc_codegen_llvm::back::lto - core-0b74e43f28b113df.core.65ad41b0d205847a-cgu.0.rcgu.o: re-compiled
INFO rustc_codegen_llvm::back::lto - c70u0a76x19t4gww0jvj6yao8: re-used
INFO rustc_codegen_llvm::back::lto - chne6zhcy9x85cp0h2x5aqu0m: re-used
INFO rustc_codegen_llvm::back::lto - 18jjsdd37c3gq3h2osg79u26t: re-used
INFO rustc_codegen_llvm::back::lto - d8ox0gwb3a4do5jzgumfggb4p: re-used
INFO rustc_codegen_llvm::back::lto - cjc4ymmspqlie6c93a6aq3hdm: re-used
INFO rustc_codegen_llvm::back::lto running thin lto passes over adler2-336aefd7b842107c.adler2.17cc26489f12f344-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto running thin lto passes over libc-93b6ac19591830f2.libc.5723d27d479e3139-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto running thin lto passes over hashbrown-708d53ebeba09f31.hashbrown.75685bee96dce093-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto running thin lto passes over rustc_std_workspace_core-5d9a775410d678c7.rustc_std_workspace_core.38ed106ace1adde5-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto running thin lto passes over rustc_std_workspace_alloc-e9dc45f98c8ec199.rustc_std_workspace_alloc.2a9edd1fe8ec284e-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto running thin lto passes over cfg_if-3367568ca42d58f6.cfg_if.24f6f58b1e6c0512-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto running thin lto passes over unwind-d8feb668298a034e.unwind.4ba8e0ce54b89e2a-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto running thin lto passes over std_detect-89da0f264c038cfd.std_detect.3472883a54d5ea88-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto running thin lto passes over miniz_oxide-ed184832220c0641.miniz_oxide.aa3c4a081c6dccb-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto running thin lto passes over memchr-6d799c7a867f65ec.memchr.9857587667506101-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto running thin lto passes over object-93fe4a6732f49df4.object.23ed47b63b254e1f-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto running thin lto passes over rustc_demangle-917b4137dcc16c1a.rustc_demangle.faed9c870cf8c981-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto running thin lto passes over 6lae4cjdhmree6e3dytjzcywj
INFO rustc_codegen_llvm::back::lto running thin lto passes over panic_unwind-6d74918d8c9fc8eb.panic_unwind.2c8f5aefaa401768-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto running thin lto passes over addr2line-25929983526f04fa.addr2line.c0ce80aede3d4387-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto running thin lto passes over gimli-45b43a86c98f869a.gimli.4bcf315d396003be-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto running thin lto passes over alloc-63de78ca4b0f7b13.alloc.c8499e84c8ebed9c-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto running thin lto passes over core-0b74e43f28b113df.core.65ad41b0d205847a-cgu.0.rcgu.o
INFO rustc_codegen_llvm::back::lto running thin lto passes over std-97ad18f5ff73ac59.std.eb0a984909e3e9db-cgu.0.rcgu.o
When rustc is in incremental mode, cg_llvm is supposed to ask ThinLTO for every CGU if it needs to be re-optimized or if the artifacts from the previous compilation session can be re-used. This works fine for local CGUs, but for CGUs originating from upstream crates we incorrectly recompile them unconditionally:
Somewhat verbose logs
The cause for this is that we don't load WorkProducts for upstream modules before starting ThinLTO and don't track if the pre-lto module was unchanged and thus don't know what artifacts we can copy.