Speculation on data dependences

A. Unger, E. Zehendner, and Th. Ungerer

Simultaneous Speculation Scheduling (SSS) is a combined compiler and architecture technique to control multiple path execution. It can be applied for dual path branch speculation in case of unpredictable branches and for multiple path speculative execution of loop iterations in case of loop-carried dependences that make parallel execution otherwise impossible. We apply SSS in situations where pure static techniques cannot prove data independence. SSS can be seen as a cost-effective alternative to pure dynamic speculation techniques. In the talk we explain the technique and discuss the requirements on possible target architecture. We further compare SSS to other speculation techniques.