about summary refs log tree commit diff
path: root/compiler/rustc_codegen_ssa/src/lib.rs
AgeCommit message (Collapse)AuthorLines
2021-10-03Move rustc_middle::middle::cstore to rustc_session.Camille GILLOT-1/+1
2021-09-30Move EncodedMetadata to rustc_metadata.Camille GILLOT-1/+1
2021-08-30Fix handling of +whole-archive native link modifier.Michael Woerister-0/+1
2021-07-06Fold LinkerInfo into CrateInfobjorn3-2/+3
2021-07-06Remove unused panic_runtime field from CrateInfobjorn3-1/+0
2021-07-06Move LinkerInfo into CrateInfobjorn3-1/+1
2021-07-05Remove LibSourcebjorn3-3/+2
The information is stored in used_crate_source too anyway
2021-06-07Auto merge of #85810 - bjorn3:further_driver_cleanup, r=varkorbors-2/+2
Driver improvements This PR contains a couple of cleanups for the driver and a few small improvements for the custom codegen backend interface. It also implements `--version` and `-Cpasses=list` support for custom codegen backends.
2021-06-04Add first cut of functionality for #58713: support for #[link(kind = ↵Richard Cobbe-1/+8
"raw-dylib")]. This does not yet support #[link_name] attributes on functions, the #[link_ordinal] attribute, #[link(kind = "raw-dylib")] on extern blocks in bin crates, or stdcall functions on 32-bit x86.
2021-06-04Move crate_name field from OngoingCodegen to CrateInfobjorn3-1/+1
2021-06-04Move windows_subsystem field from CodegenResults to CrateInfobjorn3-1/+1
2021-05-31Remove unused feature gatesbjorn3-4/+0
2021-05-24remove cfg(bootstrap)Pietro Albini-1/+0
2021-05-05Implement RFC 2951: Native link modifiersLuqman Aden-1/+2
This commit implements both the native linking modifiers infrastructure as well as an initial attempt at the individual modifiers from the RFC. It also introduces a feature flag for the general syntax along with individual feature flags for each modifier.
2021-04-03Remove attribute `#[link_args]`Vadim Petrochenkov-1/+0
2021-03-26Use iter::zip in compiler/Josh Stone-0/+1
2021-03-19stabilize or_patternsmark-1/+1
2021-03-18Remove unwrap_none/expect_none from compiler/.Mara Bos-1/+1
2021-03-09Build StKind::CopyOverlappingkadmin-0/+1
This replaces where it was previously being constructed in intrinsics, with direct construction of the Statement.
2021-01-23Don't provide backend_optimization_level query for extern cratesbjorn3-2/+1
2020-12-29don't clone copy typesMatthias Krüger-1/+1
2020-12-23Exclude unnecessary info from CodegenResultsVictor Ding-3/+18
`foreign_module` and `wasm_import_module` are not needed for linking, and hence can be removed from CodegenResults.
2020-12-16cg_llvm: implement split dwarf supportDavid Wood-1/+4
This commit implements Split DWARF support, wiring up the flag (added in earlier commits) to the modified FFI wrapper (also from earlier commits). Signed-off-by: David Wood <david@davidtw.co>
2020-12-03Combination of commitsRich Kadel-0/+1
Fixes multiple issue with counters, with simplification Includes a change to the implicit else span in ast_lowering, so coverage of the implicit else no longer spans the `then` block. Adds coverage for unused closures and async function bodies. Fixes: #78542 Adding unreachable regions for known MIR missing from coverage map Cleaned up PR commits, and removed link-dead-code requirement and tests Coverage no longer depends on Issue #76038 (`-C link-dead-code` is no longer needed or enforced, so MSVC can use the same tests as Linux and MacOS now) Restrict adding unreachable regions to covered files Improved the code that adds coverage for uncalled functions (with MIR but not-codegenned) to avoid generating coverage in files not already included in the files with covered functions. Resolved last known issue requiring --emit llvm-ir workaround Fixed bugs in how unreachable code spans were added.
2020-10-10Move finalize_session_directory call out of cg_llvmbjorn3-2/+0
This causes it to be called even when passing `-Zno-link`, when linking fails or when neither `--emit link` nor `--emit metadata` is used.
2020-10-09Move supported_target_features query provider to cg_ssabjorn3-0/+1
2020-10-04Move target feature whitelist from cg_llvm to cg_ssabjorn3-0/+1
These target features have to be supported or at least emulated by alternative codegen backends anyway as they are used by common crates. By moving this list to cg_ssa, other codegen backends don't have to copy this code.
2020-09-26Rollup merge of #77161 - est31:swich_len_already_trusted, r=petrochenkovRalf Jung-1/+0
Remove TrustedLen requirement from BuilderMethods::switch The main use case of TrustedLen is allowing APIs to specialize on it, but no use of it uses that specialization. Instead, only the .len() function provided by ExactSizeIterator is used, which is already required to be accurate. Thus, the TrustedLen requirement on BuilderMethods::switch is redundant.
2020-09-24Remove TrustedLen requirement from BuilderMethods::switchest31-1/+0
The main use case of TrustedLen is allowing APIs to specialize on it, but no use of it uses that specialization. Instead, only the .len() function provided by ExactSizeIterator is used, which is already required to be accurate. Thus, the TrustedLen requirement on BuilderMethods::switch is redundant.
2020-09-23/nightly/nightly-rustcErik Hofmayer-1/+1
2020-09-23Updated html_root_url for compiler cratesErik Hofmayer-1/+1
2020-09-17Remove redundant #![feature(...)] 's from compiler/est31-2/+0
2020-08-30mv compiler to compiler/mark-0/+171