Lan truyền sao chép

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm

Trong lý thuyết chương trình dịch, copy propagation (tạm dịch: lan truyền sao chép) là quá trình thay thế đích của các lệnh gán trực tiếp bằng giá trị của nó.[1] Một lệnh gán trực tiếp là chỉ dẫn có dạng x = y, nghĩa là chỉ đơn gian gán giá trị của y cho x.

Từ đoạn mã sau:

y = x
z = 3 + y

Lan truyền sao chép sẽ cho:

z = 3 + x

Lan truyền sao chép thường sử dụng reaching definitions, use-def chainsdef-use chains khi tính toán những vị trí xuất hiện của đích có thể sửa một cách an toàn, thao tác gán có thể được loại bỏ.

Lan truyền sao chép là một phương pháp tối ưu thường được sử dụng sau khi các phương pháp khác đã thực hiện xong. Một số phương pháp tối ưu—chẳng han loại bỏ biểu thức con chung[1] -- bắt buộc copy propagation phải được chạy sau đó để đạt được sự tăng hiệu năng.

Tham khảo[sửa | sửa mã nguồn]

  1. ^ a ă Aho, Alfred V.; Lam, Monica S.; Sethi, Ravi; Ullman, Jeffrey D. Compilers, Principles, Techniques, & Tools Second edition. ISBN 0-321-48681-1. 

Đọc thêm[sửa | sửa mã nguồn]

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