mirror of
https://github.com/golang/go
synced 2024-11-22 23:50:03 -07:00
cmd/gc: can stop tracking gotype in regopt
Now that the type information is in TYPE instructions that are not rewritten by the optimization passes, we don't have to try to preserve the type information (no longer) attached to MOV instructions. R=ken2 CC=golang-dev https://golang.org/cl/7402054
This commit is contained in:
parent
a656f82071
commit
aa3efb28f0
@ -1012,7 +1012,6 @@ mkvar(Reg *r, Adr *a)
|
|||||||
v = var+i;
|
v = var+i;
|
||||||
v->offset = o;
|
v->offset = o;
|
||||||
v->name = n;
|
v->name = n;
|
||||||
// v->gotype = a->gotype;
|
|
||||||
v->etype = et;
|
v->etype = et;
|
||||||
v->width = w;
|
v->width = w;
|
||||||
v->addr = flag; // funny punning
|
v->addr = flag; // funny punning
|
||||||
|
@ -872,7 +872,6 @@ addmove(Reg *r, int bn, int rn, int f)
|
|||||||
a->offset = v->offset;
|
a->offset = v->offset;
|
||||||
a->etype = v->etype;
|
a->etype = v->etype;
|
||||||
a->type = v->name;
|
a->type = v->name;
|
||||||
a->gotype = v->gotype;
|
|
||||||
a->node = v->node;
|
a->node = v->node;
|
||||||
a->sym = v->node->sym;
|
a->sym = v->node->sym;
|
||||||
|
|
||||||
@ -1056,7 +1055,6 @@ mkvar(Reg *r, Adr *a)
|
|||||||
v = var+i;
|
v = var+i;
|
||||||
v->offset = o;
|
v->offset = o;
|
||||||
v->name = n;
|
v->name = n;
|
||||||
v->gotype = a->gotype;
|
|
||||||
v->etype = et;
|
v->etype = et;
|
||||||
v->width = w;
|
v->width = w;
|
||||||
v->addr = flag; // funny punning
|
v->addr = flag; // funny punning
|
||||||
|
@ -806,7 +806,6 @@ addmove(Reg *r, int bn, int rn, int f)
|
|||||||
a->offset = v->offset;
|
a->offset = v->offset;
|
||||||
a->etype = v->etype;
|
a->etype = v->etype;
|
||||||
a->type = v->name;
|
a->type = v->name;
|
||||||
a->gotype = v->gotype;
|
|
||||||
a->node = v->node;
|
a->node = v->node;
|
||||||
a->sym = v->node->sym;
|
a->sym = v->node->sym;
|
||||||
|
|
||||||
@ -984,7 +983,6 @@ mkvar(Reg *r, Adr *a)
|
|||||||
v = var+i;
|
v = var+i;
|
||||||
v->offset = o;
|
v->offset = o;
|
||||||
v->name = n;
|
v->name = n;
|
||||||
v->gotype = a->gotype;
|
|
||||||
v->etype = et;
|
v->etype = et;
|
||||||
v->width = w;
|
v->width = w;
|
||||||
v->addr = flag; // funny punning
|
v->addr = flag; // funny punning
|
||||||
|
@ -695,7 +695,6 @@ typedef struct Var Var;
|
|||||||
struct Var
|
struct Var
|
||||||
{
|
{
|
||||||
vlong offset;
|
vlong offset;
|
||||||
Sym* gotype;
|
|
||||||
Node* node;
|
Node* node;
|
||||||
int width;
|
int width;
|
||||||
char name;
|
char name;
|
||||||
|
Loading…
Reference in New Issue
Block a user