Decomposed software pipelining
Résumé
This report presents a new view on software pipelining in which we consider software pipelining as an instruction level transformation from a vector of one-dimension to a matrix of two-dimensions. Thus, the software pipelining problem can be naturally decomposed into two subproblems, one to determine the row-number of operations in the matrix and another to determine the column-numbers. Using this view-point as a basis, we develop a new loop scheduling approach, called decomposed software pipelining, to exploit instruction-level parallelism for any loop with/without conditional jumps.