A Macrotask-level Unlimited Speculative Execution on Multiprocessors
(11/19)
The following description is based on the paper presented at
1995 ACM International Conference on Supercomputing head
in Spain on July 3rd to 7th,1995.
If you want to have the copy of the paper, please
let me know.

Now I'd like to go into details of the new macrotask creation scheme.
Two newly proposed steps. Duplication and Merging the basictasks.
The duplication of basictasks is applied so that the data dependence
between the basictasks are determined regardless of the direction of
conditional branch. This step is already shown in the previous transparency.
The next step is merging basictasks. The basictasks are merged into
one macrotask when the following basictask has both data dependence
and control dependence. When this condition is satisfied, the two
basictasks can not be speculated because they have data dependence.
Thus, even if these basictasks are merged, we have no performance degradation.
In this way, a program is transformed into a set of macrotasks.