Control Flow Regeneration for Software Pipelined Loops with Conditions

  • Authors:
  • Dragan Milicev;Zoran Jovanovic

  • Affiliations:
  • Department of Computer Engineering and Science, University of Belgrade, Bulevar Kralja Aleksandra 73, 11120 Belgrade, Serbia, Yugoslavia. dmilicev@rcub.bg.ac.yu;Department of Computer Engineering and Science, University of Belgrade, Bulevar Kralja Aleksandra 73, 11120 Belgrade, Serbia, Yugoslavia. zoran@rcub.bg.ac.yu

  • Venue:
  • International Journal of Parallel Programming
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

A new intermediate representation for software pipelined loops with conditions is proposed in the paper. The representation allows separation of operations from different paths and their conditional, as well as speculative scheduling, including speculative computation of conditions. An algorithm that transforms the representation into the executable code is presented. The algorithm uses the notion of finite automata to represent the execution of separate paths as threads of control that are canceled or approved by operations that actually compute the conditions. The approach may be used in conjunction with different scheduling techniques to reconstruct the control flow graph from the final schedule directly. It inherently solves the problems of overlapped predicate lifetimes and speculation. The approach provides also a novel formal model for loop execution.