rust/compiler/rustc_mir_transform/src
Matthias Krüger 72b70ec474
Rollup merge of #120292 - Zalathar:dismantle, r=oli-obk
coverage: Dismantle `Instrumentor` and flatten span refinement

This is a combination of two refactorings that are unrelated, but would otherwise have a merge conflict.

No functional changes, other than a small tweak to debug logging as part of rearranging some functions.

Ignoring whitespace is highly recommended, since most of the modified lines have just been reindented.

---

The first change is to dismantle `Instrumentor` into ordinary functions.

This is one of those cases where encapsulating several values into a struct ultimately hurts more than it helps. With everything stored as local variables in one main function, and passed explicitly into helper functions, it's easier to see what is used where, and make changes as necessary.

---

The second change is to flatten the functions for extracting/refining coverage spans.

Consolidating this code into flatter functions reduces the amount of pointer-chasing required to read and modify it.
2024-01-25 08:39:43 +01:00
..
coverage Rollup merge of #120292 - Zalathar:dismantle, r=oli-obk 2024-01-25 08:39:43 +01:00
inline subst -> instantiate 2023-09-26 09:37:55 +02:00
abort_unwinding_calls.rs remove redundant imports 2023-12-10 10:56:22 +08:00
add_call_guards.rs remove redundant imports 2023-12-10 10:56:22 +08:00
add_moves_for_packed_drops.rs remove redundant imports 2023-12-10 10:56:22 +08:00
add_retag.rs remove redundant imports 2023-12-10 10:56:22 +08:00
add_subtyping_projections.rs remove redundant imports 2023-12-10 10:56:22 +08:00
check_alignment.rs remove redundant imports 2023-12-10 10:56:22 +08:00
check_const_item_mutation.rs Rename TyCtxt::emit_spanned_lint as TyCtxt::emit_node_span_lint. 2024-01-23 08:09:05 +11:00
check_packed_ref.rs Remove Session methods that duplicate DiagCtxt methods. 2023-12-24 08:05:28 +11:00
check_unsafety.rs Rename TyCtxt::emit_spanned_lint as TyCtxt::emit_node_span_lint. 2024-01-23 08:09:05 +11:00
cleanup_post_borrowck.rs rename BorrowKind::Shallow to Fake 2023-11-08 22:55:28 +01:00
const_debuginfo.rs Format all the let chains in compiler 2023-10-13 08:59:36 +00:00
const_goto.rs Merge dead bb pruning and unreachable bb deduplication. 2024-01-07 15:12:10 +00:00
const_prop.rs Remove ConstPropMachine and re-use the DummyMachine instead 2024-01-23 16:35:26 +00:00
const_prop_lint.rs No need to check min_length 2024-01-23 16:35:27 +00:00
copy_prop.rs remove redundant imports 2023-12-10 10:56:22 +08:00
coroutine.rs Rename TyCtxt::emit_spanned_lint as TyCtxt::emit_node_span_lint. 2024-01-23 08:09:05 +11:00
cost_checker.rs Re-format code with new rustfmt 2023-11-15 21:45:48 -05:00
cross_crate_inline.rs Fix cases where std accidentally relied on inline(never) 2023-12-14 08:30:36 -05:00
ctfe_limit.rs Fix clippy::needless_borrow in the compiler 2023-11-21 20:13:40 +01:00
dataflow_const_prop.rs const prop nonsense eliminated 2024-01-23 16:34:43 +00:00
dead_store_elimination.rs Auto merge of #116520 - Enselic:large-copy-into-fn, r=oli-obk 2024-01-16 19:33:14 +00:00
deduce_param_attrs.rs compiler: Lower fn call arg spans down to MIR 2024-01-15 19:07:11 +01:00
deduplicate_blocks.rs Merge dead bb pruning and unreachable bb deduplication. 2024-01-07 15:12:10 +00:00
deref_separator.rs remove redundant imports 2023-12-10 10:56:22 +08:00
dest_prop.rs Rollup merge of #115291 - cjgillot:dest-prop-save, r=JakobDegen 2024-01-17 20:21:19 +01:00
dump_mir.rs Write to stdout if - is given as output file 2023-06-06 17:53:29 -04:00
early_otherwise_branch.rs Merge dead bb pruning and unreachable bb deduplication. 2024-01-07 15:12:10 +00:00
elaborate_box_derefs.rs remove redundant imports 2023-12-10 10:56:22 +08:00
elaborate_drops.rs Remove Session methods that duplicate DiagCtxt methods. 2023-12-24 08:05:28 +11:00
errors.rs Avoid some packing/unpacking of the AssertLint enum 2024-01-23 16:35:23 +00:00
ffi_unwind_calls.rs Rename TyCtxt::emit_spanned_lint as TyCtxt::emit_node_span_lint. 2024-01-23 08:09:05 +11:00
function_item_references.rs Rename TyCtxt::emit_spanned_lint as TyCtxt::emit_node_span_lint. 2024-01-23 08:09:05 +11:00
gvn.rs Expand match over binops. 2024-01-16 22:34:04 +00:00
inline.rs compiler: Lower fn call arg spans down to MIR 2024-01-15 19:07:11 +01:00
instsimplify.rs compiler: Lower fn call arg spans down to MIR 2024-01-15 19:07:11 +01:00
jump_threading.rs Do not thread through Assert terminator. 2024-01-23 00:00:24 +00:00
large_enums.rs Fix some comments 2023-12-28 12:23:14 +08:00
lib.rs Make MIR pass name a compile-time constant. 2024-01-21 00:21:33 +00:00
lint.rs compiler: Lower fn call arg spans down to MIR 2024-01-15 19:07:11 +01:00
lower_intrinsics.rs compiler: Lower fn call arg spans down to MIR 2024-01-15 19:07:11 +01:00
lower_slice_len.rs compiler: Lower fn call arg spans down to MIR 2024-01-15 19:07:11 +01:00
match_branches.rs Merge dead bb pruning and unreachable bb deduplication. 2024-01-07 15:12:10 +00:00
multiple_return_terminators.rs remove redundant imports 2023-12-10 10:56:22 +08:00
normalize_array_len.rs remove redundant imports 2023-12-10 10:56:22 +08:00
nrvo.rs Remove uses of HybridBitSet. 2024-01-22 22:53:20 +00:00
pass_manager.rs Make MIR pass name a compile-time constant. 2024-01-21 00:21:33 +00:00
prettify.rs remove redundant imports 2023-12-10 10:56:22 +08:00
promote_consts.rs compiler: Lower fn call arg spans down to MIR 2024-01-15 19:07:11 +01:00
ref_prop.rs Don't require owned data in MaybeStorageDead 2023-12-21 12:58:39 +01:00
remove_noop_landing_pads.rs remove redundant imports 2023-12-10 10:56:22 +08:00
remove_place_mention.rs remove redundant imports 2023-12-10 10:56:22 +08:00
remove_storage_markers.rs Move condition enabling the pass to is_enabled 2024-01-23 20:58:44 +01:00
remove_uninit_drops.rs remove redundant imports 2023-12-10 10:56:22 +08:00
remove_unneeded_drops.rs Merge dead bb pruning and unreachable bb deduplication. 2024-01-07 15:12:10 +00:00
remove_zsts.rs remove redundant imports 2023-12-10 10:56:22 +08:00
required_consts.rs rename mir::Constant -> mir::ConstOperand, mir::ConstKind -> mir::Const 2023-09-21 08:12:30 +02:00
reveal_all.rs remove redundant imports 2023-12-10 10:56:22 +08:00
separate_const_switch.rs Merge dead bb pruning and unreachable bb deduplication. 2024-01-07 15:12:10 +00:00
shim.rs compiler: Lower fn call arg spans down to MIR 2024-01-15 19:07:11 +01:00
simplify.rs Merge dead bb pruning and unreachable bb deduplication. 2024-01-07 15:12:10 +00:00
simplify_branches.rs remove redundant imports 2023-12-10 10:56:22 +08:00
simplify_comparison_integral.rs rename mir::Constant -> mir::ConstOperand, mir::ConstKind -> mir::Const 2023-09-21 08:12:30 +02:00
sroa.rs remove redundant imports 2023-12-10 10:56:22 +08:00
ssa.rs Inline dominator check. 2023-12-31 00:37:45 +00:00
uninhabited_enum_branching.rs Fix clippy::needless_borrow in the compiler 2023-11-21 20:13:40 +01:00
unreachable_prop.rs rustc_mir_transform: Enforce rustc::potential_query_instability lint 2024-01-06 19:09:04 +01:00