Patent ID: 6567976
Filing Date: 2003-05-20
Classification: G06F

Abstract:
In a compiler for optimizing source code, a method for unrolling a two-deep loop nest of source code having constant bounds and imperfectly nested code, comprising the steps of:transforming the two-deep loop nest into adjacent two-deep loop nests comprising a first two-deep loop nest, a second two-deep loop nest and a third two-deep loop nest, wherein said first two-deep loop nest handles the imperfectly nested code above an inner loop, said second two-deep loop nest contains only perfectly nested code, and wherein said third two-deep nest handles imperfectly nested code below said inner loop; unrolling said second two-deep loop nest to produce an unrolled section of code and a wind-down section of code; jamming said unrolled section of code; and recursively repeating said transforming, said unrolling, and said jamming steps from the outermost to innermost loops in order to outer-unroll loop nests of depth greater than two.