about summary refs log tree commit diff
path: root/compiler/rustc_codegen_ssa/src/back/lto.rs
AgeCommit message (Collapse)AuthorLines
2025-09-06Make the allocator shim participate in LTO againbjorn3-14/+0
2025-09-04Export __rdl_* symbols to the allocator shim when doing LTObjorn3-0/+14
2025-08-29Correctly handle different crate types disagreeing if the allocator shim is ↵bjorn3-1/+7
exported Previously it would attempt to export the allocator shim even linking for a crate type which pulls in the allocator shim from a dylib rather than locally defining it.
2025-07-21Remove each_linked_rlib_for_lto from CodegenContextbjorn3-3/+2
2025-07-21Merge exported_symbols computation into exported_symbols_for_ltobjorn3-44/+53
And move exported_symbols_for_lto call from backends to cg_ssa.
2025-07-21Move LTO symbol export calculation from backends to cg_ssabjorn3-0/+83
2025-07-03Remove LtoModuleCodegenbjorn3-60/+0
Most uses of it either contain a fat or thin lto module. Only WorkItem::LTO could contain both, but splitting that enum variant doesn't complicate things much.
2025-05-28Mark all optimize methods and the codegen method as safebjorn3-8/+3
There is no safety contract and I don't think any of them can actually cause UB in more ways than passing malicious source code to rustc can. While LtoModuleCodegen::optimize says that the returned ModuleCodegen points into the LTO module, the LTO module has already been dropped by the time this function returns, so if the returned ModuleCodegen indeed points into the LTO module, we would have seen crashes on every LTO compilation, which we don't. As such the comment is outdated.
2025-01-24Make CodegenCx and Builder genericManuel Drehwald-3/+1
Co-authored-by: Oli Scherer <github35764891676564198441@oli-obk.de>
2025-01-01upstream rustc_codegen_llvm changes for enzyme/autodiffManuel Drehwald-0/+21
2024-09-22Reformat using the new identifier sorting from rustfmtMichael Goulet-1/+1
2024-09-09Remove `serialized_bitcode` from `LtoModuleCodegen`.Nicholas Nethercote-8/+4
It's unused.
2024-07-29Reformat `use` declarations.Nicholas Nethercote-5/+5
The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options.
2024-07-16Fix unsafe_op_in_unsafe_fn in compilerMichael Goulet-1/+1
2022-04-30Merge new_metadata into codegen_allocatorbjorn3-3/+1
2022-04-30Remove config parameter of optimize_fat and avoid interior mutability for modulebjorn3-3/+2
2022-04-30Let LtoModuleCodegen::optimize take self by valuebjorn3-7/+6
2021-05-08Support -C passes in NewPMNikita Popov-1/+1
And report an error if parsing the additional pass pipeline fails. Threading through the error accounts for most of the changes here.
2021-03-30Add an Mmap wrapper to rustc_data_structuresbjorn3-1/+2
This wrapper implements StableAddress and falls back to directly reading the file on wasm32
2021-03-18Upgrade memmap to memmap2 in other crates.Camille GILLOT-1/+1
2020-08-30mv compiler to compiler/mark-0/+107