-
公开(公告)号:US20210334103A1
公开(公告)日:2021-10-28
申请号:US17367384
申请日:2021-07-04
Applicant: TEXAS INSTRUMENTS INCORPORATED
Inventor: Kai Chirca , Timothy D. Anderson , Todd T. Hahn , Alan L. Davis
IPC: G06F9/30
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.
-
公开(公告)号:US20180024820A1
公开(公告)日:2018-01-25
申请号:US15213425
申请日:2016-07-19
Applicant: TEXAS INSTRUMENTS INCORPORATED
Inventor: Alan L. Davis , Paul Fuqua , Timothy John Harvey
IPC: G06F9/45
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.
-