Since block 1 has data definitions of variables I and J, these definitions may kill any other definitions in the CSECT of I and J.
At one point in the translation program, a CSECT has been divided into basic blocks, and a PL/I structured information block, as shown in Figure 6, called the critical array, has been formed containing valuable information for the optimizing program.
Because the code translation program operates on one CSECT at a time, a problem exists in determining whether or not a flag definition in one CSECT potentially affects data uses in other CSECTs.
The main control is illustrated below: FOR THIS CSECT DO 1) CALL PROCESS_DATA 2) CALL ALGORITHM 3) CALL FORM_RESULTS 4) CALL UPDATE_DATA 5) CALL FREE_BLOCKS END OPTIMIZATION;
A sample CSECT for an INTEL 8085 microprocessor was run with the flag optimization activated, and the following figures show the results.