An improved scheduling technique for software pipelining is disclosed
which is designed to find schedules requiring fewer processor clock
cycles and reduce register pressure hot spots when scheduling multiple
groups of instructions (e.g. as represented by multiple sub-graphs of a
DDG) which are independent, and substantially identical. The improvement
in instruction scheduling and reduction of hot spots is achieved by
evenly distributing such groups of instructions around the schedule for a
given loop.