Don't merge with the zero range, we may
end up zeroing more than we need.
LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/
83430044
if(n->type->width % widthreg != 0 || n->xoffset % widthreg != 0 || n->type->width == 0)
fatal("var %lN has size %d offset %d", n, (int)n->type->width, (int)n->xoffset);
- if(n->xoffset + n->type->width >= lo - 2*widthptr) {
+ if(lo != hi && n->xoffset + n->type->width >= lo - 2*widthptr) {
// merge with range we already have
lo = n->xoffset;
continue;
fatal("needzero class %d", n->class);
if(n->type->width % widthptr != 0 || n->xoffset % widthptr != 0 || n->type->width == 0)
fatal("var %lN has size %d offset %d", n, (int)n->type->width, (int)n->xoffset);
- if(n->xoffset + n->type->width == lo - 2*widthptr) {
+ if(lo != hi && n->xoffset + n->type->width == lo - 2*widthptr) {
// merge with range we already have
lo = n->xoffset;
continue;