1
0
mirror of https://github.com/golang/go synced 2024-11-20 05:44:44 -07:00

5g: fix optimizer bug

same as in issue below, never fixed on ARM

changeset:   5498:3fa1372ca694
user:        Ken Thompson <ken@golang.org>
date:        Thu May 20 17:31:28 2010 -0700

description:
fix issue 798
cannot allocate an audomatic temp
while real registers are allocated.
there is a chance that the automatic
will be allocated to one of the
allocated registers. the fix is to
not registerize such variables.

R=rsc
CC=golang-dev
https://golang.org/cl/1202042

R=ken2
CC=golang-dev
https://golang.org/cl/4226042
This commit is contained in:
Russ Cox 2011-02-23 13:21:39 -05:00
parent 9fc0f159c3
commit 63c24081a0
3 changed files with 4 additions and 2 deletions

View File

@ -27,6 +27,7 @@ struct Addr
uchar type;
char name;
char reg;
char pun;
uchar etype;
};
#define A ((Addr*)0)

View File

@ -1168,6 +1168,7 @@ naddr(Node *n, Addr *a, int canemitcode)
a->etype = simtype[n->type->etype];
a->width = n->type->width;
}
a->pun = n->pun;
a->offset = n->xoffset;
a->sym = n->sym;
if(a->sym == S)

View File

@ -697,8 +697,8 @@ mkvar(Reg *r, Adr *a)
n = D_NONE;
flag = 0;
// if(a->pun)
// flag = 1;
if(a->pun)
flag = 1;
switch(t) {
default: