Sciweavers

CGO
2004
IEEE

Code Generation for Single-Dimension Software Pipelining of Multi-Dimensional Loops

13 years 8 months ago
Code Generation for Single-Dimension Software Pipelining of Multi-Dimensional Loops
Traditionally, software pipelining is applied either to the innermost loop of a given loop nest or from the innermost loop to the outer loops. In a companion paper, we proposed a scheduling method, called Single-dimension Software Pipelining (SSP), to software pipeline a multi-dimensional loop nest at an arbitrary loop level. In this paper, we describe our solution to SSP code generation. In contrast to traditional software pipelining, SSP handles two distinct repetitive patterns, and thus requires new code generation algorithms. Further, these two distinct repetitive patterns complicate register assignment and require two levels of register renaming. As rotating registers support renaming at only one level, our solution is based on a combination of dynamic register renaming (using rotating registers) and static register renaming (using code replication). Finally, code size increase, an even more important issue for SSP than for traditional software-pipelining, is also addressed. Opti...
Hongbo Rong, Alban Douillet, Ramaswamy Govindaraja
Added 20 Aug 2010
Updated 20 Aug 2010
Type Conference
Year 2004
Where CGO
Authors Hongbo Rong, Alban Douillet, Ramaswamy Govindarajan, Guang R. Gao
Comments (0)