rust/compiler/rustc_codegen_ssa/src
bors 74f600b990 Auto merge of #98162 - nextsilicon:support_lto_embed_bitcode, r=davidtwco
Allow to disable thinLTO buffer to support lto-embed-bitcode lld feature

Hello
This change is to fix issue (https://github.com/rust-lang/rust/issues/84395) in which passing "-lto-embed-bitcode=optimized" to lld when linking rust code via linker-plugin-lto doesn't produce the expected result.

Instead of emitting a single unified module into a llvmbc section of the linked elf, it emits multiple submodules.
This is caused because rustc emits the BC modules after running llvm `createWriteThinLTOBitcodePass` pass.
Which in turn triggers a thinLTO linkage and causes the said issue.

This patch allows via compiler flag (-Cemit-thin-lto=<bool>) to select between running `createWriteThinLTOBitcodePass` and `createBitcodeWriterPass`.
Note this pattern of selecting between those 2 passes is common inside of LLVM code.
The default is to match the old behavior.
2022-07-21 10:13:59 +00:00
..
back Auto merge of #98162 - nextsilicon:support_lto_embed_bitcode, r=davidtwco 2022-07-21 10:13:59 +00:00
coverageinfo Remove in_band_lifetimes from rustc_codegen_ssa 2021-12-15 00:41:41 -05:00
debuginfo Allow to create definitions inside the query system. 2022-07-06 22:50:55 +02:00
mir Revert "Rollup merge of #98582 - oli-obk:unconstrained_opaque_type, r=estebank" 2022-07-20 07:55:58 +00:00
traits Auto merge of #93718 - thomcc:used-macho, r=pnkfelix 2022-07-21 06:59:32 +00:00
base.rs Rename debugging_opts to unstable_opts 2022-07-13 17:47:06 -05:00
common.rs rustc_codegen_ssa: derive copy and clone for various enums 2022-05-25 10:34:35 +02:00
glue.rs use unchecked mul to compute slice sizes 2022-06-14 17:09:07 -04:00
lib.rs move emit_metadata to rustc_metadata::fs 2022-07-02 22:48:16 +09:00
meth.rs Rename debugging_opts to unstable_opts 2022-07-13 17:47:06 -05:00
mono_item.rs Add codegen for global_asm! sym operands 2022-04-15 14:36:30 +01:00
target_features.rs Add some unstable target features for the wasm target codegen 2022-06-06 15:01:17 -07:00