Skip to content

Move rustc_passes::liveness to MIR #68419

Closed
@Centril

Description

@Centril

Discussion in https://discordapp.com/channels/442252698964721669/443151243398086667/669220265821077535.

The liveness linting code in rustc_passes::liveness works on HIR using backwards dataflow. The code is quite complicated and imprecise. Moving it to rustc_mir::transform as a new pass could simplify the compiler, improve maintainability, as well as improve precision (e.g., sub-binding level precision for tuples, structs, and arrays).

cc @oli-obk cc @eddyb cc #65467 cc #51003

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-MIRArea: Mid-level IR (MIR) - https://blog.rust-lang.org/2016/04/19/MIR.htmlC-cleanupCategory: PRs that clean code up or issues documenting cleanup.C-enhancementCategory: An issue proposing an enhancement or a PR with one.E-hardCall for participation: Hard difficulty. Experience needed to fix: A lot.E-mediumCall for participation: Medium difficulty. Experience needed to fix: Intermediate.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions