Structsยง
- Reference
Propagation ๐ - Propagate references using SSA analysis.
- Replacer ๐
- Utility to help performing substitution of
*pattern
bytarget
.
Enumsยง
- Value ๐
Functionsยง
- compute_
replacement ๐ - For each local, save the place corresponding to
*local
. - fully_
replaceable_ ๐locals - Compute the set of locals that can be fully replaced.
- move_
to_ ๐copy_ pointers - The SSA analysis done by
SsaLocals
treatsOperand::Move
as a read, even though in generalOperand::Move
represents pass-by-pointer where the callee can overwrite the pointee (Miri always considers the place deinitialized). CopyProp has a similar trick to turnOperand::Move
intoOperand::Copy
when required for an optimization, but in this pass we just turn all moves of pointers into copies because pointers should be by-value anyway. - propagate_
ssa ๐