rust/src/test/incremental
Mazdak Farrokhzad 2a539a1b91
Rollup merge of #58378 - alexcrichton:incremental-lto, r=michaelwoerister
rustc: Implement incremental "fat" LTO

Currently the compiler will produce an error if both incremental
compilation and full fat LTO is requested. With recent changes and the
advent of incremental ThinLTO, however, all the hard work is already
done for us and it's actually not too bad to remove this error!

This commit updates the codegen backend to allow incremental full fat
LTO. The semantics are that the input modules to LTO are all produce
incrementally, but the final LTO step is always done unconditionally
regardless of whether the inputs changed or not. The only real
incremental win we could have here is if zero of the input modules
changed, but that's so rare it's unlikely to be worthwhile to implement
such a code path.

cc #57968
cc rust-lang/cargo#6643
2019-02-14 08:24:15 +01:00
..
add_private_fn_at_krate_root_cc Remove licenses 2018-12-25 21:08:33 -07:00
auxiliary Remove licenses 2018-12-25 21:08:33 -07:00
callee_caller_cross_crate Remove licenses 2018-12-25 21:08:33 -07:00
change_add_field tests: doc comments 2019-02-10 23:42:32 +00:00
change_crate_order Remove licenses 2018-12-25 21:08:33 -07:00
change_private_fn Remove licenses 2018-12-25 21:08:33 -07:00
change_private_fn_cc Remove licenses 2018-12-25 21:08:33 -07:00
change_private_impl_method Remove licenses 2018-12-25 21:08:33 -07:00
change_private_impl_method_cc Remove licenses 2018-12-25 21:08:33 -07:00
change_pub_inherent_method_body Remove licenses 2018-12-25 21:08:33 -07:00
change_pub_inherent_method_sig Remove licenses 2018-12-25 21:08:33 -07:00
extern_static Remove licenses 2018-12-25 21:08:33 -07:00
hashes Allow a dirty MirBuilt for make_extern and make_method_extern 2019-02-08 07:25:32 +01:00
inlined_hir_34991 Remove licenses 2018-12-25 21:08:33 -07:00
issue-39828 Remove licenses 2018-12-25 21:08:33 -07:00
issue-49595 Remove licenses 2018-12-25 21:08:33 -07:00
krate_reassign_34991 Remove licenses 2018-12-25 21:08:33 -07:00
remapped_paths_cc Remove licenses 2018-12-25 21:08:33 -07:00
remove-private-item-cross-crate Remove licenses 2018-12-25 21:08:33 -07:00
remove_crate Remove licenses 2018-12-25 21:08:33 -07:00
remove_source_file Remove licenses 2018-12-25 21:08:33 -07:00
rlib_cross_crate Remove licenses 2018-12-25 21:08:33 -07:00
span_hash_stable Remove licenses 2018-12-25 21:08:33 -07:00
static_cycle Remove licenses 2018-12-25 21:08:33 -07:00
static_refering_to_other_static Remove licenses 2018-12-25 21:08:33 -07:00
static_refering_to_other_static2 Remove licenses 2018-12-25 21:08:33 -07:00
static_refering_to_other_static3 Remove licenses 2018-12-25 21:08:33 -07:00
static_stable_hash Remove licenses 2018-12-25 21:08:33 -07:00
struct_change_field_type_cross_crate Remove licenses 2018-12-25 21:08:33 -07:00
thinlto Remove licenses 2018-12-25 21:08:33 -07:00
type_alias_cross_crate Remove licenses 2018-12-25 21:08:33 -07:00
cache_file_headers.rs Remove licenses 2018-12-25 21:08:33 -07:00
change_crate_dep_kind.rs Remove licenses 2018-12-25 21:08:33 -07:00
change_name_of_static_in_fn.rs Fix typo bug in DepGraph::try_mark_green(). 2019-01-17 15:32:05 +01:00
change_symbol_export_status.rs Remove licenses 2018-12-25 21:08:33 -07:00
commandline-args.rs Remove licenses 2018-12-25 21:08:33 -07:00
crate_hash_reorder.rs Remove licenses 2018-12-25 21:08:33 -07:00
dirty_clean.rs Remove licenses 2018-12-25 21:08:33 -07:00
feature_gate.rs Remove licenses 2018-12-25 21:08:33 -07:00
foreign.rs Remove licenses 2018-12-25 21:08:33 -07:00
hello_world.rs Remove licenses 2018-12-25 21:08:33 -07:00
ich_method_call_trait_scope.rs Remove licenses 2018-12-25 21:08:33 -07:00
ich_nested_items.rs Remove licenses 2018-12-25 21:08:33 -07:00
ich_resolve_results.rs Remove licenses 2018-12-25 21:08:33 -07:00
incremental_proc_macro.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-35593.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-38222.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-39569.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-42602.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-49043.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-49482.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-51409.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-54059.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-54242.rs Set the query in the ImplicitCtxt before trying to mark it green 2019-02-12 05:48:39 +01:00
krate-inherent.rs Remove licenses 2018-12-25 21:08:33 -07:00
krate-inlined.rs Remove licenses 2018-12-25 21:08:33 -07:00
lto.rs rustc: Implement incremental "fat" LTO 2019-02-12 04:58:31 -08:00
macro_export.rs Remove licenses 2018-12-25 21:08:33 -07:00
source_loc_macros.rs Remove licenses 2018-12-25 21:08:33 -07:00
spans_in_type_debuginfo.rs Remove licenses 2018-12-25 21:08:33 -07:00
spans_significant_w_debuginfo.rs Remove licenses 2018-12-25 21:08:33 -07:00
spans_significant_w_panic.rs Remove licenses 2018-12-25 21:08:33 -07:00
spike-neg1.rs Remove licenses 2018-12-25 21:08:33 -07:00
spike-neg2.rs Remove licenses 2018-12-25 21:08:33 -07:00
spike.rs Remove licenses 2018-12-25 21:08:33 -07:00
string_constant.rs Remove licenses 2018-12-25 21:08:33 -07:00
struct_add_field.rs Remove licenses 2018-12-25 21:08:33 -07:00
struct_change_field_name.rs Remove licenses 2018-12-25 21:08:33 -07:00
struct_change_field_type.rs Remove licenses 2018-12-25 21:08:33 -07:00
struct_change_nothing.rs Remove licenses 2018-12-25 21:08:33 -07:00
struct_remove_field.rs Remove licenses 2018-12-25 21:08:33 -07:00
unchecked_dirty_clean.rs Remove licenses 2018-12-25 21:08:33 -07:00
warnings-reemitted.rs Remove licenses 2018-12-25 21:08:33 -07:00