• Dave Cheney's avatar
    cmd/5g: avoid temporaries during gcmp(reg, constant) · 905e8dfa
    Dave Cheney authored
    Address several instances of unneeded temporaries when using gcmp.
    
    func M(m map[int]bool) int {
            return len(m)
    }
    
    --- prog list "M" ---
    0000 (/home/dfc/src/map.go:3) TEXT      M+0(SB),$0-8
    0001 (/home/dfc/src/map.go:4) MOVW      m+0(FP),R0
    0002 (/home/dfc/src/map.go:4) MOVW      $0,R1
    0003 (/home/dfc/src/map.go:4) CMP       R1,R0,
    0004 (/home/dfc/src/map.go:4) BEQ       ,6(APC)
    0005 (/home/dfc/src/map.go:4) MOVW      0(R0),R0
    0006 (/home/dfc/src/map.go:4) MOVW      R0,.noname+4(FP)
    0007 (/home/dfc/src/map.go:4) RET       ,
    
    after:
    
    --- prog list "M" ---
    0000 (/home/dfc/src/map.go:3) TEXT      M+0(SB),$0-8
    0001 (/home/dfc/src/map.go:4) MOVW      m+0(FP),R0
    0002 (/home/dfc/src/map.go:4) CMP       $0,R0,
    0003 (/home/dfc/src/map.go:4) BEQ       ,5(APC)
    0004 (/home/dfc/src/map.go:4) MOVW      0(R0),R0
    0005 (/home/dfc/src/map.go:4) MOVW      R0,.noname+4(FP)
    0006 (/home/dfc/src/map.go:4) RET       ,
    
    func C(c chan int) int {
            return cap(c)
    }
    
    --- prog list "C" ---
    0000 (/home/dfc/src/map.go:3) TEXT      C+0(SB),$0-8
    0001 (/home/dfc/src/map.go:4) MOVW      c+0(FP),R0
    0002 (/home/dfc/src/map.go:4) MOVW      $0,R1
    0003 (/home/dfc/src/map.go:4) CMP       R1,R0,
    0004 (/home/dfc/src/map.go:4) BEQ       ,6(APC)
    0005 (/home/dfc/src/map.go:4) MOVW      4(R0),R0
    0006 (/home/dfc/src/map.go:4) MOVW      R0,.noname+4(FP)
    0007 (/home/dfc/src/map.go:4) RET       ,
    
    after:
    
    --- prog list "C" ---
    0000 (/home/dfc/src/map.go:3) TEXT      C+0(SB),$0-8
    0001 (/home/dfc/src/map.go:4) MOVW      c+0(FP),R0
    0002 (/home/dfc/src/map.go:4) CMP       $0,R0,
    0003 (/home/dfc/src/map.go:4) BEQ       ,5(APC)
    0004 (/home/dfc/src/map.go:4) MOVW      4(R0),R0
    0005 (/home/dfc/src/map.go:4) MOVW      R0,.noname+4(FP)
    0006 (/home/dfc/src/map.go:4) RET       ,
    
    R=rsc, minux.ma, remyoudompheng
    CC=golang-dev
    https://golang.org/cl/6618054
    905e8dfa
Name
Last commit
Last update
api Loading commit data...
doc Loading commit data...
include Loading commit data...
lib Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...