1. Introduction
It is widely recognized that most programs tend to spend the majority of their execution time in a small portion of their code, i.e., known as the 90/10 rule [1]. Most of this code is located within loop structures, and thus it is important to optimize the execution of the frequently executed loops. Recent development of multicore architecture has paved the way to their speculative multithreaded execution utilizing their regular structure. Loop iterations are defined as speculative threads. However, in order to realize speculative multithreaded execution of loop iterations, there are many issues such as the generation of optimized speculative thread, the prediction of speculative thread, the resolution of inter-iteration data-dependency and the treatment of speculative memory access operations [2].