Structsยง
- Reference
Propagation ๐ - Propagate references using SSA analysis.
- Replacer ๐
- Utility to help performing substitution of
*patternbytarget.
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
SsaLocalstreatsOperand::Moveas a read, even though in generalOperand::Moverepresents pass-by-pointer where the callee can overwrite the pointee (Miri always considers the place deinitialized). CopyProp has a similar trick to turnOperand::MoveintoOperand::Copywhen 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 ๐