Implement SSA-based reference propagation.
This commit is contained in:
parent
f7b831ac8a
commit
3490375570
21 changed files with 2668 additions and 80 deletions
|
@ -76,7 +76,7 @@ fn propagate_ssa<'tcx>(tcx: TyCtxt<'tcx>, body: &mut Body<'tcx>) {
|
|||
fn fully_moved_locals(ssa: &SsaLocals, body: &Body<'_>) -> BitSet<Local> {
|
||||
let mut fully_moved = BitSet::new_filled(body.local_decls.len());
|
||||
|
||||
for (_, rvalue) in ssa.assignments(body) {
|
||||
for (_, rvalue, _) in ssa.assignments(body) {
|
||||
let (Rvalue::Use(Operand::Copy(place) | Operand::Move(place)) | Rvalue::CopyForDeref(place))
|
||||
= rvalue
|
||||
else { continue };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue