* Avoid treating CALL fn(SB) as justification for introducing
and tracking a registerized variable for fn(SB).
* Remove USED(n) after declaration and zeroing of n.
It was left over from when the compiler emitted more
aggressive set and not used errors, and it was keeping
the optimizer from removing a redundant zeroing of n
when n was a pointer or integer variable.
Update #597.
R=ken2
CC=golang-dev
https://golang.org/cl/
7277048
}
}
+ // Avoid making variables for direct-called functions.
+ if(p->as == ABL && p->to.type == D_EXTERN)
+ continue;
+
/*
* left side always read
*/
}
}
+ // Avoid making variables for direct-called functions.
+ if(p->as == ACALL && p->to.type == D_EXTERN)
+ continue;
+
// Addressing makes some registers used.
if(p->from.type >= D_INDIR)
r->use1.b[0] |= RtoB(p->from.type-D_INDIR);
}
}
+ // Avoid making variables for direct-called functions.
+ if(p->as == ACALL && p->to.type == D_EXTERN)
+ continue;
+
// Addressing makes some registers used.
if(p->from.type >= D_INDIR)
r->use1.b[0] |= RtoB(p->from.type-D_INDIR);
return;
}
clearslim(nl);
- if(nl->addable)
- gused(nl);
return;
}