[qfcc] Avoid defining whole temp via alias

Like defs, a partial write should not define the whole temp. Thus, copy
the "don't visit main" behavior recently added to def_visit_all. Fixes
missing ud-chains for component-by-component assignments to temporary
vectors.
This commit is contained in:
Bill Currie 2023-06-05 09:42:33 +09:00
parent 8f6e145257
commit 38fd09573f

View file

@ -452,8 +452,9 @@ tempop_visit_all (tempop_t *tempop, int overlap,
internal_error (top->expr, "temp alias of non-temp operand");
}
tempop = &top->tempop;
if ((ret = visit (tempop, data)))
if (!(overlap & 4) && (ret = visit (tempop, data)))
return ret;
overlap &= ~4;
} else {
overlap = 0;
}