Font Size: a A A

Program speedup through generalized loop unrolling

Posted on:2002-08-22Degree:Ph.DType:Dissertation
University:University of HoustonCandidate:Leng, TauFull Text:PDF
GTID:1468390011997558Subject:Computer Science
Abstract/Summary:
It is intuitively clear that, to optimize a program for speedup, efforts should be focused on the regions where the payoff will be the greatest. Loop constructs in a program represent such regions. In the literature, it has been shown that a certain degree of speedup can be achieved by loop transformation techniques, such as loop unrolling. The techniques published so far, however, appear to be effectively applicable only to countable loops where the iteration count can be determined without executing the loop. This dissertation presents a generalized loop unrolling method that can be applied to any type of loop constructs, including the non-countable ones. Our research reveals that, for most real-world programs with non-countable loops, the degree of speedup that can be achieved through unrolling is modest. Nevertheless, the method works on any platform and can be easily applied to any type of loop. A series of experiments on computers with MIPS R10000®, Pentium ®-III, and Itanium™ microprocessors showed that the method was able to achieve various degree of program speedup on all of these processors with vastly different architecture. The experimental results also strongly suggested that the method affords a modern compiler more opportunities to take advantages of special architectural features in the target computer to optimize the object code.
Keywords/Search Tags:Speedup, Loop, Program, Unrolling
Related items