diff options
author | Ken Thompson <ken@golang.org> | 2009-12-03 20:28:24 -0800 |
---|---|---|
committer | Ken Thompson <ken@golang.org> | 2009-12-03 20:28:24 -0800 |
commit | 62be24d949cb85e70d64395f0d4d3cf510688aeb (patch) | |
tree | 2c170770dc82b19c890d10daa2f5c730efac4c14 | |
parent | f3d63bea42e38720834ce6589d0747982b30ea7d (diff) | |
download | go-62be24d949cb85e70d64395f0d4d3cf510688aeb.tar.gz go-62be24d949cb85e70d64395f0d4d3cf510688aeb.zip |
6g code gen bug
R=rsc
https://golang.org/cl/166052
-rw-r--r-- | src/cmd/6g/ggen.c | 3 | ||||
-rw-r--r-- | src/cmd/8g/ggen.c | 14 |
2 files changed, 6 insertions, 11 deletions
diff --git a/src/cmd/6g/ggen.c b/src/cmd/6g/ggen.c index cf56148616..5b42d0f1ae 100644 --- a/src/cmd/6g/ggen.c +++ b/src/cmd/6g/ggen.c @@ -80,8 +80,9 @@ compile(Node *fn) pc->as = ARET; // overwrite AEND pc->lineno = lineno; - if(!debug['N'] || debug['R'] || debug['P']) + if(!debug['N'] || debug['R'] || debug['P']) { regopt(ptxt); + } // fill in argument size ptxt->to.offset = rnd(curfn->type->argwid, maxround); diff --git a/src/cmd/8g/ggen.c b/src/cmd/8g/ggen.c index 8ec8d9ba27..2e8837267c 100644 --- a/src/cmd/8g/ggen.c +++ b/src/cmd/8g/ggen.c @@ -80,7 +80,6 @@ compile(Node *fn) pc->as = ARET; // overwrite AEND pc->lineno = lineno; -if(0) if(!debug['N'] || debug['R'] || debug['P']) { regopt(ptxt); } @@ -470,15 +469,10 @@ cgen_asop(Node *n) } hard: - if(nr->ullman > nl->ullman) { - tempname(&n2, nr->type); - cgen(nr, &n2); - igen(nl, &n1, N); - } else { - igen(nl, &n1, N); - tempname(&n2, nr->type); - cgen(nr, &n2); - } + tempname(&n2, nr->type); + cgen(nr, &n2); + + igen(nl, &n1, N); n3 = *n; n3.left = &n1; |