mirror of https://github.com/golang/go.git
cmd/gc: allow registerization of temporaries created by inlining.
Names beginning with a dot are ignored by optimizers. R=rsc, lvd, golang-dev, dave CC=golang-dev https://golang.org/cl/7098049
This commit is contained in:
parent
f579faa69d
commit
dfdfba14b9
|
|
@ -638,7 +638,7 @@ funcargs(Node *nt)
|
|||
|
||||
if(n->left == N) {
|
||||
// give it a name so escape analysis has nodes to work with
|
||||
snprint(namebuf, sizeof(namebuf), ".anon%d", gen++);
|
||||
snprint(namebuf, sizeof(namebuf), "~anon%d", gen++);
|
||||
n->left = newname(lookup(namebuf));
|
||||
n->left->orig = N; // signal that the original was absent
|
||||
|
||||
|
|
@ -653,7 +653,7 @@ funcargs(Node *nt)
|
|||
*nn = *n->left;
|
||||
n->left = nn;
|
||||
|
||||
snprint(namebuf, sizeof(namebuf), ".anon%d", gen++);
|
||||
snprint(namebuf, sizeof(namebuf), "~anon%d", gen++);
|
||||
n->left->sym = lookup(namebuf);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -699,7 +699,7 @@ retvar(Type *t, int i)
|
|||
{
|
||||
Node *n;
|
||||
|
||||
snprint(namebuf, sizeof(namebuf), ".r%d", i);
|
||||
snprint(namebuf, sizeof(namebuf), "~r%d", i);
|
||||
n = newname(lookup(namebuf));
|
||||
n->type = t->type;
|
||||
n->class = PAUTO;
|
||||
|
|
|
|||
Loading…
Reference in New Issue