THÔNG TIN SỬ DỤNG TIẾP 1. Tính toán sử dụng tiếp Việc sử dụng tên trong lệnh ba địa chỉ được định nghĩa như sau: Giả sử lệnh ba địa chỉ i gán một giá trị cho x. Nếu x là một toán hạng trong lệnh j, dòng điều khiển đi từ lệnh i đến j đồng thời dọc đường đi này ta không xen vào các lệnh gán cho x, thì ta nói rằng lệnh j dùng giá trị của x được tính toán tại i. Trong chương này, ta chỉ đề cập đến việc tiếp tục sử dụng tên của. | V. THÔNG TIN SỬ DỤNG TIẾP 1. Tính toán sử dụng tiếp Việc sử dụng tên trong lệnh ba địa chỉ được định nghĩa như sau Giả sử lệnh ba địa chỉ i gán một giá trị cho x. Nếu x là một toán hạng trong lệnh j dòng điều khiển đi từ lệnh i đến j đồng thời dọc đường đi này ta không xen vào các lệnh gán cho x thì ta nói rằng lệnh j dùng giá trị của x được tính toán tại i. Trong chương này ta chỉ đề cập đến việc tiếp tục sử dụng tên của một lệnh ba địa chỉ ngay trong khối chứa lệnh đó. Giải thuật xác định những sử dụng tiếp theo tạo nên sự duyệt lùi đi qua các khối cơ bản. Ta có thể dễ dàng xác định lệnh ba địa chỉ cuối cùng của mỗi khối cơ bản. Vì các chương trình con có những hiệu ứng lề tùy ý nên ta giả sử rằng mỗi lời gọi chương trình con bắt đầu tại mỗi khối cơ bản mới. Để tìm lệnh cuối cùng của một khối cơ bản ta duyệt lùi tới phần đầu lưu giữ các thông tin như x có được tiếp tục sử dụng trong khối hay không x có còn sống khi ra khỏi khối Giả sử rằng ta tới được lệnh ba địa chỉ i x y op z trong khi duyệt lùi. Ta có thể làm theo các như sau 1. Gán cho lệnh i các thông tin được tìm thấy trong bảng danh biểu. Đó là những thông tin xác định x y z có được tiếp tục sử dụng và còn sống 2. Trong bảng danh biểu đặt x không sống và không được dùng tiếp. 201 3. Trong bảng danh biểu đặt y z sống và được sử dụng tiếp. Chú ý rằng các bước 2 và 3 không thể xen kẽ nhau vì x có thể là y hoặc z. Đối với lệnh ba địa chỉ dạng x y hoặc x op y các bước làm tương tự như trên nhưng bỏ qua z. 2. Bộ nhớ của các tên tạm Nhìn chung ta có thể gói các biến trung gian vào cùng một vị trí nhớ nếu chúng không cùng sống . Hầu như tất cả các tên tạm biến trung gian được định nghĩa và được sử dụng trong các khối cơ bản thông tin sử dụng tiếp có thể gói các biến trung gian. Trong chương này ta không nói tới các biến trung gian được sử dụng trong nhiếu khối. Ta có thể cấp phát các vị trí nhớ cho các biến trung gian bằng cách kiểm tra kết quả trả về của mỗi biến và gán một biến trung gian vào vị trí đầu tiên .