| java.lang.Object soot.Transformer soot.BodyTransformer soot.jimple.toolkits.scalar.CopyPropagator
CopyPropagator | public CopyPropagator(Singletons.Global g)(Code) | | |
internalTransform | protected void internalTransform(Body b, String phaseName, Map opts)(Code) | | Cascaded copy propagator.
If it encounters situations of the form: A: a = ...; B: ... x = a; C:... use (x);
where a has only one definition, and x has only one definition (B), then it can
propagate immediately without checking between B and C for redefinitions
of a (namely) A because they cannot occur. In this case the propagator is global.
Otherwise, if a has multiple definitions then it only checks for redefinitions of
Propagates constants and copies in extended basic blocks.
Does not propagate stack locals when the "only-regular-locals" option is true.
|
|
|