- if (/* If we want to create speculative dep. */
- fs
- /* And we can do that because this is a true dep. */
- && (ds & DEP_TYPES) == DEP_TRUE)
- {
- gcc_assert (!(ds & BE_IN_SPEC));
-
- if (/* If this dep can be overcomed with 'begin speculation'. */
- ds & BEGIN_SPEC)
- /* Then we have a choice: keep the dep 'begin speculative'
- or transform it into 'be in speculative'. */
- {
- if (/* In try_ready we assert that if insn once became ready
- it can be removed from the ready (or queue) list only
- due to backend decision. Hence we can't let the
- probability of the speculative dep to decrease. */
- dep_weak (ds) <= dep_weak (fs))
- /* Transform it to be in speculative. */
- ds = (ds & ~BEGIN_SPEC) | fs;
- }
- else
- /* Mark the dep as 'be in speculative'. */
- ds |= fs;
- }