about summary refs log tree commit diff
path: root/src/librustc_codegen_utils/codegen_backend.rs
AgeCommit message (Collapse)AuthorLines
2019-10-24rustc: Add a convenience alias for `dyn MetadataLoader + Sync`Vadim Petrochenkov-2/+2
2019-10-13Remove unused method CodegenBackend::diagnosticsbjorn3-1/+0
2019-09-25Remove tx_to_llvm_workers from TyCtxtMark Rousskov-2/+0
This can be kept within the codegen backend crates entirely
2019-07-28Remove lint annotations in specific crates that are already enforced by ↵Vadim Petrochenkov-2/+0
rustbuild Remove some random unnecessary lint `allow`s
2019-06-14Unify all uses of 'gcx and 'tcx.Eduard-Mihai Burtescu-1/+1
2019-06-12Run `rustfmt --file-lines ...` for changes from previous commits.Eduard-Mihai Burtescu-2/+1
2019-06-12rustc: replace `TyCtxt<'tcx, 'gcx, 'tcx>` with `TyCtxt<'gcx, 'tcx>`.Eduard-Mihai Burtescu-1/+1
2019-06-12Fix fallout from `deny(unused_lifetimes)`.Eduard-Mihai Burtescu-1/+1
2019-06-12rustc: replace `TyCtxt<'a, 'gcx, 'tcx>` with `TyCtxt<'tcx, 'gcx, 'tcx>`.Eduard-Mihai Burtescu-1/+1
2019-04-30Move metadata encoding earlier.Nicholas Nethercote-1/+3
This commit separates metadata encoding (`tcx.encode_metadata`) from the creation of the metadata module (which is now handled by `write_compressed_metadata`, formerly `write_metadata`). The metadata encoding now occurs slightly earlier in the pipeline, at the very start of code generation within `start_codegen`. Metadata *writing* still occurs near the end of compilation; that will be moved forward in subsequent commits.
2019-03-16Remove MetadataOnlyCodegenBackendbjorn3-144/+2
2019-03-10Make the rustc driver and interface demand drivenJohn Kåre Alsaker-3/+4
2019-02-09Rollup merge of #58259 - taiki-e:librustc_codegen_utils-2018, r=CentrilMazdak Farrokhzad-11/+11
librustc_codegen_utils => 2018 Transitions `librustc_codegen_utils` to Rust 2018; cc #58099 r? @Centril
2019-02-08librustc_codegen_utils => 2018Taiki Endo-11/+11
2019-02-07Remove images' url to make it work even without internet connectionGuillaume Gomez-3/+1
2019-01-09MetadataOnlyCodegenBackend: remove `is_inline` calllqd-1/+0
This function has no side effects, and its result is ignored.
2019-01-07Codegen: run the collector only oncelqd-13/+3
Use the `collect_and_partition_mono_items ` query to avoid calling the collector
2018-12-25Remove licensesMark Rousskov-10/+0
2018-12-07use top level `fs` functions where appropriateAndy Russell-9/+4
This commit replaces many usages of `File::open` and reading or writing with `fs::read_to_string`, `fs::read` and `fs::write`. This reduces code complexity, and will improve performance for most reads, since the functions allocate the buffer to be the size of the file. I believe that this commit will not impact behavior in any way, so some matches will check the error kind in case the file was not valid UTF-8. Some of these cases may not actually care about the error.
2018-12-06codegen_utils, driver: fix clippy errorsljedrz-12/+9
2018-10-19Prefer `Default::default` over `FxHash*::default` in struct constructorsOliver Scherer-3/+1
2018-10-19Deprecate the `FxHashMap()` and `FxHashSet()` constructor function hackOliver Scherer-1/+1
2018-08-18Remove LinkMeta structbjorn3-3/+2
2018-08-04Use diagnostic API on SessionMark Rousskov-1/+1
2018-08-04Normalize variants of CrateType to standard styleMark Rousskov-6/+6
This is a clippy-breaking change.
2018-07-11Deny bare trait objects in in src/librustc_codegen_utilsljedrz-12/+12
2018-07-10Upgrade to LLVM's master branch (LLVM 7)Alex Crichton-1/+0
This commit upgrades the main LLVM submodule to LLVM's current master branch. The LLD submodule is updated in tandem as well as compiler-builtins. Along the way support was also added for LLVM 7's new features. This primarily includes the support for custom section concatenation natively in LLD so we now add wasm custom sections in LLVM IR rather than having custom support in rustc itself for doing so. Some other miscellaneous changes are: * We now pass `--gc-sections` to `wasm-ld` * The optimization level is now passed to `wasm-ld` * A `--stack-first` option is passed to LLD to have stack overflow always cause a trap instead of corrupting static data * The wasm target for LLVM switched to `wasm32-unknown-unknown`. * The syntax for aligned pointers has changed in LLVM IR and tests are updated to reflect this. * The `thumbv6m-none-eabi` target is disabled due to an [LLVM bug][llbug] Nowadays we've been mostly only upgrading whenever there's a major release of LLVM but enough changes have been happening on the wasm target that there's been growing motivation for quite some time now to upgrade out version of LLD. To upgrade LLD, however, we need to upgrade LLVM to avoid needing to build yet another version of LLVM on the builders. The revision of LLVM in use here is arbitrarily chosen. We will likely need to continue to update it over time if and when we discover bugs. Once LLVM 7 is fully released we can switch to that channel as well. [llbug]: https://bugs.llvm.org/show_bug.cgi?id=37382
2018-07-07Move llvm_target_features back to llvm_utilbjorn3-3/+2
2018-07-07Leave fixme commentbjorn3-1/+2
2018-07-07Fix metadata_only metadata encodingbjorn3-1/+13
2018-07-07Mostly fix compiling without LLVM (with metadata_only backend)bjorn3-94/+11
2018-07-07Move some functions out of rustc_codegen_llvm and fix metadata_only backendbjorn3-5/+11
2018-06-14rustc: rename ty::maps to ty::query.Eduard-Mihai Burtescu-1/+1
2018-05-17Rename trans to codegen everywhere.Irina Popa-0/+296