]> Cypherpunks repositories - gostls13.git/commit
cmd/5g: allow optimization of return registers.
authorShenghou Ma <minux.ma@gmail.com>
Fri, 11 Jan 2013 04:29:14 +0000 (12:29 +0800)
committerShenghou Ma <minux.ma@gmail.com>
Fri, 11 Jan 2013 04:29:14 +0000 (12:29 +0800)
commitbdd9f29780f7045f6e4c3782f38386d869542eef
tree638d187e1ea818e5ad29de988af9c7bcb2329454
parentd5d4ee47ed3e76ec707a44095d5da11415b0a8bf
cmd/5g: allow optimization of return registers.
Modeled after CL 7030046 by daniel.morsing.

example program:
func f(x int) int { x -= 10; return x }

5g -S difference:
 --- prog list "f" ---
 0011 (x.go:7) TEXT    add+0(SB),$0-8
 0012 (x.go:7) MOVW    x+0(FP),R0
-0013 (x.go:7) SUB     $10,R0,R2
-0014 (x.go:7) MOVW    R2,R0
-0015 (x.go:7) MOVW    R2,.noname+4(FP)
-0016 (x.go:7) RET     ,
+0013 (x.go:7) SUB     $10,R0
+0014 (x.go:7) MOVW    R0,.noname+4(FP)
+0015 (x.go:7) RET     ,

R=dave, rsc
CC=golang-dev
https://golang.org/cl/7030047
src/cmd/5g/peep.c