]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/6g, cmd/8g: Allow optimization of return registers.
authorDaniel Morsing <daniel.morsing@gmail.com>
Fri, 11 Jan 2013 14:44:42 +0000 (15:44 +0100)
committerDaniel Morsing <daniel.morsing@gmail.com>
Fri, 11 Jan 2013 14:44:42 +0000 (15:44 +0100)
The peephole optimizer would keep hands off AX and X0 during returns, even though go doesn't return through registers.

R=dave, rsc
CC=golang-dev
https://golang.org/cl/7030046

src/cmd/6g/peep.c
src/cmd/8g/peep.c

index 231ce5314a0ebe94d46e7d78310337ddaf3117a9..9b6278792a826e6bf333a454634067c49aa54488 100644 (file)
@@ -1157,8 +1157,6 @@ copyu(Prog *p, Adr *v, Adr *s)
                return 0;
 
        case ARET:      /* funny */
-               if(v->type == REGRET || v->type == FREGRET)
-                       return 2;
                if(s != A)
                        return 1;
                return 3;
index 4fe8986cb60de4527e3c60b7d9a6bcb2c8add9b8..3a61e528dcbaeba8273dc0d7d0a34fd580aec43a 100644 (file)
@@ -886,8 +886,6 @@ copyu(Prog *p, Adr *v, Adr *s)
                return 0;
 
        case ARET:      /* funny */
-               if(v->type == REGRET || v->type == FREGRET)
-                       return 2;
                if(s != A)
                        return 1;
                return 3;