A De-Pipeline Algorithm for Software-Pipeline

汤志忠,李文龙,苏伯珙
2004-01-01
Ruan Jian Xue Bao/Journal of Software
Abstract:Software pipelining is a loop optimization technique that is widely implemented in modern optimizing compilers. In order to fully utilize the instruction level parallelism of the recent VLIW DSP processors, DSP programs have to be optimized by software pipelining. However, because of the transformation of the original sequential code, a software-pipelined loop is often difficult to understand, test, and debug. It is also very difficult to reuse and port a software-pipelined loop to other processors, especially when the original sequential code is unavailable. We propose a de-pipelining algorithm which converts the optimized assembly code of a software-pipelined loop back to a semantically equivalent sequential counterpart. Preliminary experiments on 20 programs verify the validity of the proposed de-pipelining algorithm.
What problem does this paper attempt to address?