Software Pipelining with Register Allocation and Spilling

Jian Wang, Andreas Krall, M. Anton Ertl, Christine Eisenbeis
jian@mips.complang.tuwien.ac.at

Abstract

This paper studies the problem of simultaneous register allocation and software pipelining. We present the Register Requirement Graph to dynamically reflect the register requirement during software pipelining and develop a Register-Pressure-Sensitive (RPS) scheduling technique. Three algorithms - RPS without spilling, RPS with spilling and software pipelining with a limited number of registers - are proposed. The preliminary experimental results show the efficiency of the three algorithms.

Talk Overheads (300739 bytes)