about summary refs log tree commit diff
path: root/src/librustc_query_system/dep_graph
AgeCommit message (Collapse)AuthorLines
2020-08-30mv compiler to compiler/mark-1634/+0
2020-08-14Rework `rustc_serialize`Matthew Jasper-5/+6
- Move the type parameter from `encode` and `decode` methods to the trait. - Remove `UseSpecialized(En|De)codable` traits. - Remove blanket impls for references. - Add `RefDecodable` trait to allow deserializing to arena-allocated references safely. - Remove ability to (de)serialize HIR. - Create proc-macros `(Ty)?(En|De)codable` to help implement these new traits.
2020-06-10Use min_specialization in the remaining rustc cratesMatthew Jasper-3/+6
2020-05-14Rollup merge of #72126 - nnethercote:change-WorkProduct-saved_files, ↵Dylan DPC-2/+2
r=alexcrichton Change `WorkProduct::saved_files` to an `Option`. Because there is at most one file. r? @bjorn3
2020-05-12Change `WorkProduct::saved_files` to an `Option`.Nicholas Nethercote-2/+2
Because there is at most one file.
2020-05-11Fix clippy warningsMatthias Krüger-3/+3
Fixes clippy::{cone_on_copy, filter_next, redundant_closure, single_char_pattern, len_zero,redundant_field_names, useless_format, identity_conversion, map_clone, into_iter_on_ref, needless_return, option_as_ref_deref, unused_unit, unnecessary_mut_passed}
2020-05-04Auto merge of #71754 - alexcrichton:no-bitcode-in-cache, r=nnethercotebors-8/+1
Don't copy bytecode files into the incr. comp. cache. It's no longer necessary now that bitcode is embedded into object files. This change meant that `WorkProductFileKind::Bytecode` is no longer necessary, which means that type is no longer necessary, which allowed several places in the code to become simpler. This commit was written by @nnethercote in https://github.com/rust-lang/rust/pull/70458 but that didn't land. In the meantime though we managed to land it in https://github.com/rust-lang/rust/pull/71528 and that doesn't seem to be causing too many fires, so I'm re-sending this patch!
2020-05-01Don't copy bytecode files into the incr. comp. cache.Nicholas Nethercote-8/+1
It's no longer necessary now that bitcode is embedded into object files. This change meant that `WorkProductFileKind::Bytecode` is no longer necessary, which means that type is no longer necessary, which allowed several places in the code to become simpler.
2020-05-01Move the DepNode construction to librustc_query_system.Camille GILLOT-0/+25
2020-04-29Store LLVM bitcode in object files, not compressedAlex Crichton-1/+0
This commit is an attempted resurrection of #70458 where LLVM bitcode emitted by rustc into rlibs is stored into object file sections rather than in a separate file. The main rationale for doing this is that when rustc emits bitcode it will no longer use a custom compression scheme which makes it both easier to interoperate with existing tools and also cuts down on compile time since this compression isn't happening. The blocker for this in #70458 turned out to be that native linkers didn't handle the new sections well, causing the sections to either trigger bugs in the linker or actually end up in the final linked artifact. This commit attempts to address these issues by ensuring that native linkers ignore the new sections by inserting custom flags with module-level inline assembly. Note that this does not currently change the API of the compiler at all. The pre-existing `-C bitcode-in-rlib` flag is co-opted to indicate whether the bitcode should be present in the object file or not. Finally, note that an important consequence of this commit, which is also one of its primary purposes, is to enable rustc's `-Clto` bitcode loading to load rlibs produced with `-Clinker-plugin-lto`. The goal here is that when you're building with LTO Cargo will tell rustc to skip codegen of all intermediate crates and only generate LLVM IR. Today rustc will generate both object code and LLVM IR, but the object code is later simply thrown away, wastefully.
2020-04-16don't clone types that are copy (clippy::clone_on_copy)Matthias Krüger-1/+1
2020-03-30Add inline attributes for functions used in the query systemJohn Kåre Alsaker-0/+1
2020-03-30rustc -> rustc_middle part 1Mazdak Farrokhzad-1/+1
2020-03-27Implement HashStable directly.Camille GILLOT-3/+8
2020-03-27Cleanups.Camille GILLOT-2/+3
2020-03-26Retire DepGraphSafe and HashStableContext.Camille GILLOT-85/+18
2020-03-26Rustfmt.Camille GILLOT-1/+5
2020-03-26Generalise Query starting.Camille GILLOT-1/+4
2020-03-26Decouple from DepKind.Camille GILLOT-0/+4
2020-03-23Address review.Camille GILLOT-10/+10
2020-03-23Put extract_def_id back on DepNode.Camille GILLOT-13/+0
2020-03-23Remove assert_ignored and with_ignore_deps.Camille GILLOT-10/+4
2020-03-23Merge ensure_node_can_be_forced into force_from_dep_node.Camille GILLOT-8/+3
2020-03-23Fallout in other crates.Camille GILLOT-13/+2
2020-03-23Make librustc_query_system compile.Camille GILLOT-604/+286
2020-03-23Move dep_graph to new crate librustc_query_system.Camille GILLOT-0/+2015