about summary refs log tree commit diff
path: root/compiler/rustc_mir_dataflow/src
AgeCommit message (Collapse)AuthorLines
2023-10-24Auto merge of #116300 - cjgillot:split-move, r=petrochenkovbors-253/+125
Separate move path tracking between borrowck and drop elaboration. The primary goal of this PR is to skip creating a `MovePathIndex` for path that do not need dropping in drop elaboration. The 2 first commits are cleanups. The next 2 commits displace `move` errors from move-path builder to borrowck. Move-path builder keeps the same logic, but does not carry error information any more. The remaining commits allow to filter `MovePathIndex` creation according to types. This is used in drop elaboration, to avoid computing dataflow for paths that do not need dropping.
2023-10-23Auto merge of #116033 - bvanjoi:fix-116032, r=petrochenkovbors-1/+1
report `unused_import` for empty reexports even it is pub Fixes #116032 An easy fix. r? `@petrochenkov` (Discovered this issue while reviewing #115993.)
2023-10-22use visibility to check unused imports and delete some stmtsbohan-1/+1
2023-10-21Use terse form for Fn bound.Camille GILLOT-16/+4
2023-10-21Remove on_all_drop_children_bits.Camille GILLOT-27/+3
As drop elaboration only tracks places that need dropping, is has become equivalent to `on_all_children_bits`.
2023-10-21Parametrize gather_moves by filter.Camille GILLOT-60/+84
2023-10-21Stop computing error info in move path builder.Camille GILLOT-82/+26
2023-10-21Avoid using a magic value for untracked locals.Camille GILLOT-25/+32
2023-10-21Do not report errors from move path builder.Camille GILLOT-17/+8
2023-10-21Remove is_terminal_path.Camille GILLOT-59/+1
That information is redundant. Is the path is terminal, `first_child` will already be `None`.
2023-10-21Improve naming and comments.Camille GILLOT-17/+45
2023-10-21Implement JumpThreading pass.Camille GILLOT-18/+89
2023-10-20s/generator/coroutine/Oli Scherer-13/+13
2023-10-20s/Generator/Coroutine/Oli Scherer-11/+11
2023-10-13Format all the let chains in compilerMichael Goulet-4/+8
2023-10-06Preserve DebugInfo in DeadStoreElimination.Camille GILLOT-0/+21
2023-10-02have better explanation for `relate_types`ouz-a-4/+3
2023-10-02Add docs, remove code, change subtyper codeouz-a-4/+5
2023-10-02subtyping_projectionsouz-a-0/+4
2023-09-28Some tracing cleanupsOli Scherer-4/+3
2023-09-24Auto merge of #115794 - cjgillot:aggregate-no-box, r=davidtwcobors-1/+3
Do not create a DerefLen place for `Box<[T]>`. Fixes https://github.com/rust-lang/rust/issues/115789
2023-09-23Remove GeneratorWitness and rename GeneratorWitnessMIR.Camille GILLOT-4/+2
2023-09-22Rollup merge of #115770 - ouz-a:match_elem_builder, r=lcnrMatthias Krüger-32/+113
Match on elem first while building move paths While working on https://github.com/rust-lang/rust/pull/115025 `@lcnr` and I observed "move_paths_for" function matched on the `Ty` instead of `Projection` which seems flawed as it's the `Projection`s that cause the problem not the type. r? `@lcnr`
2023-09-22match array for constantindex and subsliceouz-a-8/+9
2023-09-22better bug messageouz-a-3/+7
2023-09-22remove inner matchouz-a-6/+4
2023-09-21rename mir::Constant -> mir::ConstOperand, mir::ConstKind -> mir::ConstRalf Jung-5/+5
2023-09-20Do not create a DerefLen place for `Box<[T]>`.Camille GILLOT-1/+3
2023-09-12very verbose error handlingouz-a-20/+86
2023-09-12match on elem firstouz-a-33/+45
2023-09-11Support non-scalar constants.Camille GILLOT-1/+26
2023-09-07Correct comment and assumption.Camille GILLOT-6/+5
2023-09-06Support array length.Camille GILLOT-0/+36
2023-09-05Support non-trivial scalars in ConstProp.Camille GILLOT-45/+29
2023-09-02Take `&mut Results` in `ResultsVisitor`Jason Newcomb-12/+12
2023-08-24when terminating during unwinding, show the reason whyRalf Jung-10/+10
2023-08-20give some unwind-related terminators a more clear nameRalf Jung-10/+10
2023-08-16Use Terminator::edges for backward analysis too.Camille GILLOT-1/+1
2023-08-16Only evaluate yield place after resume in liveness.Camille GILLOT-15/+31
2023-08-16Specify that method only applies statement effects.Camille GILLOT-9/+14
2023-08-16Rename YieldResumeEffect.Camille GILLOT-6/+6
2023-08-16Make TerminatorEdge plural.Camille GILLOT-39/+39
2023-08-16Rename MaybeUnreachable.Camille GILLOT-47/+53
2023-08-16Use TerminatorEdge for dataflow-const-prop.Camille GILLOT-18/+31
2023-08-16Only run MaybeInitializedPlaces once for drop elaboration.Camille GILLOT-9/+63
2023-08-16Allow apply_terminator_effect to customize edges.Camille GILLOT-295/+177
2023-08-16Introduce MaybeUnreachable.Camille GILLOT-3/+136
2023-08-16Move domain_size to GenKillAnalysis.Camille GILLOT-14/+39
2023-08-16Move initialization dataflow impls into their own module.Camille GILLOT-749/+756
2023-08-16Create bottom on-the-fly instead of cloning it.Camille GILLOT-3/+4