Speculative execution is a powerful technique for exploring the full potential of wideissue
superscalar and very long instruction word (VLIW) processors. There are two
classes of speculative execution, control speculation and data speculation. Control speculation
refers to the execution of operations before it has been determined that they
would be executed in the normal control
ow of execution. The concept of control speculation
has long been recognized for its ability to improve code performance [1]. Data
speculation involves executing load instructions before possibly aliased operations such as
stores. Although similar in nature to control speculation, the concepts concerning data
speculation are just now maturing. In this thesis, a research infrastructure is presented
for supporting data speculative optimizations and scheduling.