Global Software Pipelining with Iteration Preselection [chapter]

David Gregg
2000 Lecture Notes in Computer Science  
Software pipelining loops containing multiple paths is a very difficult problem. Loop shifting offers the possibility of a close to optimal schedule with acceptable code growth. Deciding how often to shift each operation is difficult, and existing heuristics are rather ad hoc. We separate loop shifting from scheduling, and present new, non-greedy heuristics. Experimental results show that our approach yields better performance and less code growth.
doi:10.1007/3-540-46423-9_13 fatcat:6xu5clunuzcvxdcl5s3jqfk43e