Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Copy propagation

In compiler theory, copy propagation is the process of replacing the occurrences of targets of direct assignments with their values. A direct assignment is an instruction of the form x = y, which simply assigns the value of y to x.

From the following code:

y = x z = 3 + y

Copy propagation would yield:

z = 3 + x

Copy propagation often makes use of reaching definitions, use-def chains and def-use chains when computing which occurrences of the target may be safely replaced. If all upwards exposed uses of the target may be safely modified, the assignment operation may be eliminated.

Copy propagation is a useful "clean up" optimization frequently used after other compiler passes have already been run. Some optimizations—such as classical implementations of elimination of common sub expressionsrequire that copy propagation be run afterwards in order to achieve an increase in efficiency.

We don't have any images related to Copy propagation yet.
We don't have any YouTube videos related to Copy propagation yet.
We don't have any PDF documents related to Copy propagation yet.
We don't have any Books related to Copy propagation yet.
We don't have any archived web articles related to Copy propagation yet.

See also

Further reading

Muchnick, Steven S. Advanced Compiler Design and Implementation. Morgan Kaufmann. 1997.

References

  1. Aho, Alfred V.; Lam, Monica S.; Sethi, Ravi; Ullman, Jeffrey D. (2007). Compilers, Principles, Techniques, & Tools Second edition. Pearson/Addison Wesley. ISBN 978-0-321-48681-3. 978-0-321-48681-3

  2. Aho, Alfred V.; Lam, Monica S.; Sethi, Ravi; Ullman, Jeffrey D. (2007). Compilers, Principles, Techniques, & Tools Second edition. Pearson/Addison Wesley. ISBN 978-0-321-48681-3. 978-0-321-48681-3