TAILIEUCHUNG - Bài giảng môn học Trình biên dịch - Chương 10: Tối ưu mã

Bài giảng chương 10 trình bày những nội dung cơ bản như: Mã trung gian, phân tích dòng dữ liệu, phân tích dòng dữ liệu (Data Flow Analyst) – DFA, loại bỏ dư thừa, tối ưu vòng lặp. . | CHƯƠNG 10 TỐI ƯU MÃ . Giới thiệu - Tiêu chuẩn chuyển mã tốt - Tổ chức của trình biên dịch tối ưu front end Bộ tối ưu mã Phân tích dòng điều khiển Phân tích dòng dữ liệu Bộ sinh mã Chuyển đổi Hình . Tổ chức của bộ tối ưu mã Mã trung gian Thí dụ . Chuyển đổi sang mã trung gian ba địa chỉ cho đoạn chương trình trong ngôn ngữ Pascal for i := n – 1 down to 1 do for j:= 1 to i do if A [j] > A [j + 1] then begin temp := A [j]; A [j] := A [j + 1]; A [j + 1] := temp; end; Giả sử mỗi ô nhớ là 4 byte. Địa chỉ nền của dãy A vậy địa chỉ phần tử thứ j của dãy A là: addr(A[j]) = addr(A) + (j – 1) * 4. (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) i=n-1 ij i i goto (29) t1 = j - 1 t 2 = 4 * t1 t3 = A [t2] t4 = j + 1 t5 = t4 - 1 t 6 = 4 * t5 t7 = A [t6] ij t3 L if (c) goto (11) n := n + 1 m := m + 2 goto (5) write n BB1 BB2 BB3 BB4 . Phân tích dòng dữ liệu Các cấu trúc điều khiển như if, while, for gây ra sự rẽ nhánh của chương trình. Xác định được sự rẽ nhánh sẽ xác định được sự thay đổi trị của biến trong chương trình, từ đó sử dụng các biến này trong quá trình tối ưu hóa. . Mục đích Xác định cấu trúc điều khiển của chương trình là: - mô tả các con đường thực hiện chương trình - xác định các vòng lặp . Đồ thị dòng điều khiển (Control Flow Graphs) Định nghĩa: Đồ thị dòng điều khiển (CFG) của một chương trình là một đồ thị có hướng, được ký hiệu G = (N, E) mà trong đó N là các khối cơ bản, E là tập cạnh thể hiện cho dòng điều khiển giữa các khối cơ .

TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.