This paper presents a novel software pipelining approach, which is called S
wing Modulo Scheduling (SMS). It generates schedules that are near optimal
in terms of initiation interval, register requirements, and stage count. Sw
ing Module Scheduling is a heuristic approach that has a low computational
cost. This paper first describes the technique and evaluates it for the Per
fect Club benchmark suite on a generic VLIW architecture. SMS is compared w
ith other heuristic methods, showing that it outperforms them in terms of t
he quality of the obtained schedules and compilation time. To further explo
re the effectiveness of SMS, the experience of incorporating it into a prod
uction quality compiler for the Equator MAP1000 processor is described; imp
lementation issues are discussed, as well as modifications and improvements
to the original algorithm. Finally, experimental results from using a set
of industrial multimedia applications are presented.