const tagver_t *vs = tvtbl[c->tvers];
for (size_t t = 0; t < ntag; ++t) {
const Tag &tag = tags[t];
- const tagver_t
- h0 = thist.last(h, t),
- l0 = thist.last(l, t);
+ const tagver_t h0 = thist.last(h, t);
if (h0 == TAGVER_ZERO) continue;
const tagver_t v = history(tag) ? vs[t] : TAGVER_ZERO;
m = newvers.insert(std::make_pair(x, n)).first->second;
if (n == m) ++maxver;
- if (!fixed(tag) && (l0 == TAGVER_ZERO || history(tag))) {
+ if (!fixed(tag) && (history(tag) || thist.last(l, t) == TAGVER_ZERO)) {
newacts.insert(std::make_pair(x, m));
}
}
for (size_t t = 0; t < ntag; ++t) {
// see note [mapping ignores items with lookahead tags]
- if (ctx.dc_taghistory.last(xl, t) != TAGVER_ZERO
- && !history(tags[t])) continue;
+ if (!history(tags[t])
+ && ctx.dc_taghistory.last(xl, t) != TAGVER_ZERO) continue;
const tagver_t xv = xvs[t], yv = yvs[t];
tagver_t &xv0 = y2x[yv], &yv0 = x2y[xv];