rust-lang / rust-lang/goals

MIR move elimination

Open
#396 8 comments 0 reactions 1 assignee View on GitHub

@Amanieu is already working on this.

Since Sep 16, 2025.

C-tracking-issue ex-2025h2 T-compiler T-lang T-opsem T-wg-mir-opt
Dominant language
Rust
Stars
173
Forks
119
Avg merge
6h 31m
Merged PRs (30d)
20

Description

Metadata
Point of contact @Amanieu
Team(s) compiler, lang, opsem, wg-mir-opt
Goal document 2026/mir-move-elimination

Summary

Add a MIR optimization which eliminates move operations. This will require changes to the MIR semantics of move to enable the optimization to cases where a value has had its address taken (LLVM already eliminates moves when this is not the case).

Tasks and status


Note: we have updated the body to match the 2026 goal. Your original text is preserved below.

Metadata
Point of contact @Amanieu
Team(s) compiler, lang, opsem, wg-mir-opt
Goal document 2026/mir-move-elimination

Summary

Add a MIR optimization which eliminates move operations. This will require changes to the MIR semantics of move to enable the optimization to cases where a value has had its address taken (LLVM already eliminates moves when this is not the case).

Tasks and status


Note: we have updated the body to match the 2026 goal. Your original text is preserved below.

Metadata
Point of contact @Amanieu
Team(s) compiler, lang, opsem, wg-mir-opt
Goal document 2025h2/mir-move-elimination

Summary

Add a MIR optimization which eliminates move operations. This will require changes to the MIR semantics of move to enable the optimization to cases where a value has had its address taken (LLVM already eliminates moves when this is not the case).

Tasks and status

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.