NESTED LOOP CONTROL
    11.
    发明申请

    公开(公告)号:US20210334103A1

    公开(公告)日:2021-10-28

    申请号:US17367384

    申请日:2021-07-04

    Abstract: A nested loop controller includes a first register having a first value initialized to an initial first value, a second register having a second value initialized to an initial second value, and a third register configured as a predicate FIFO, initialized to have a third value. The second value is advanced in response to a tick instruction during execution of a loop. In response to the second value reaching a second threshold, the second register is reset to the initial second value. The nested loop controller further includes a comparator coupled to the second register and to the predicate FIFO and configured to provide an outer loop indicator value as input to the predicate FIFO when the second value is equal to the second threshold, and provide an inner loop indicator value as input to the predicate FIFO when the second value is not equal to the second threshold.

    LINEAR-TIME ALGORITHM TO DETERMINE THE MAXIMUM NUMBER OF ITERATIONS OF THE ITERATIVE ALGORITHM FOR DATA-FLOW ANALYSIS FOR REDUCIBLE LOOPS

    公开(公告)号:US20180024820A1

    公开(公告)日:2018-01-25

    申请号:US15213425

    申请日:2016-07-19

    CPC classification number: G06F8/433 G06F8/443

    Abstract: A compiler converts a human readable high level program into a corresponding machine language program. This invention improves data-flow analysis. A compiler implementing data-flow analysis typically relies on an iterative algorithm for data-flow analysis. According to the prior art determination of the exact number of loop iterations required for convergence was believed impractical. The prior art selected a maximum number of data-flow analysis iterations relatively arbitrarily. This invention calculates the number of iterations for convergence using backedges in a control flow graph of the source program. This permits the data-flow analysis to be run for exactly the number of iterations needed for convergence. In the event of convergence, an extra, useless iteration is avoided. In the event of non-convergence, valid data can be separated from invalid data, whereas all data was previously discarded.

Patent Agency Ranking