1
0
mirror of https://github.com/golang/go synced 2024-11-18 13:14:47 -07:00

compile/internal/gc,internal/obj: remove some usages of obj.Bool2int

Passes go build -toolexec 'toolstash -cmp' -a std.

Change-Id: Iea8c7bba2401f61ddf2caffc4bece2c293d10f74
Reviewed-on: https://go-review.googlesource.com/14951
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Marvin Stenger 2015-09-24 01:48:03 +02:00 committed by Brad Fitzpatrick
parent 550b7ccf77
commit 44ab8bab1c
3 changed files with 25 additions and 23 deletions

View File

@ -87,7 +87,9 @@ func Gbranch(as int, t *Type, likely int) *obj.Prog {
p.To.Val = nil p.To.Val = nil
if as != obj.AJMP && likely != 0 && Thearch.Thechar != '9' && Thearch.Thechar != '7' { if as != obj.AJMP && likely != 0 && Thearch.Thechar != '9' && Thearch.Thechar != '7' {
p.From.Type = obj.TYPE_CONST p.From.Type = obj.TYPE_CONST
p.From.Offset = int64(obj.Bool2int(likely > 0)) if likely > 0 {
p.From.Offset = 1
}
} }
if Debug['g'] != 0 { if Debug['g'] != 0 {

View File

@ -2847,25 +2847,25 @@ func keydup(n *Node, hash map[uint32][]*Node) {
for _, a := range hash[h] { for _, a := range hash[h] {
cmp.Op = OEQ cmp.Op = OEQ
cmp.Left = n cmp.Left = n
b := uint32(0) b := false
if a.Op == OCONVIFACE && orign.Op == OCONVIFACE { if a.Op == OCONVIFACE && orign.Op == OCONVIFACE {
if Eqtype(a.Left.Type, n.Type) { if Eqtype(a.Left.Type, n.Type) {
cmp.Right = a.Left cmp.Right = a.Left
evconst(&cmp) evconst(&cmp)
if cmp.Op == OLITERAL { if cmp.Op == OLITERAL {
// Sometimes evconst fails. See issue 12536. // Sometimes evconst fails. See issue 12536.
b = uint32(obj.Bool2int(cmp.Val().U.(bool))) b = cmp.Val().U.(bool)
} }
} }
} else if Eqtype(a.Type, n.Type) { } else if Eqtype(a.Type, n.Type) {
cmp.Right = a cmp.Right = a
evconst(&cmp) evconst(&cmp)
if cmp.Op == OLITERAL { if cmp.Op == OLITERAL {
b = uint32(obj.Bool2int(cmp.Val().U.(bool))) b = cmp.Val().U.(bool)
} }
} }
if b != 0 { if b {
Yyerror("duplicate key %v in map literal", n) Yyerror("duplicate key %v in map literal", n)
return return
} }

View File

@ -673,7 +673,7 @@ func span7(ctxt *obj.Link, cursym *obj.LSym) {
* drop the pool now, and branch round it. * drop the pool now, and branch round it.
*/ */
func checkpool(ctxt *obj.Link, p *obj.Prog, skip int) { func checkpool(ctxt *obj.Link, p *obj.Prog, skip int) {
if pool.size >= 0xffff0 || !(ispcdisp(int32(p.Pc+4+int64(pool.size)-int64(pool.start)+8)) != 0) { if pool.size >= 0xffff0 || !ispcdisp(int32(p.Pc+4+int64(pool.size)-int64(pool.start)+8)) {
flushpool(ctxt, p, skip) flushpool(ctxt, p, skip)
} else if p.Link == nil { } else if p.Link == nil {
flushpool(ctxt, p, 2) flushpool(ctxt, p, 2)
@ -826,27 +826,27 @@ func regoff(ctxt *obj.Link, a *obj.Addr) uint32 {
return uint32(ctxt.Instoffset) return uint32(ctxt.Instoffset)
} }
func ispcdisp(v int32) int { func ispcdisp(v int32) bool {
/* pc-relative addressing will reach? */ /* pc-relative addressing will reach? */
return obj.Bool2int(v >= -0xfffff && v <= 0xfffff && (v&3) == 0) return v >= -0xfffff && v <= 0xfffff && (v&3) == 0
} }
func isaddcon(v int64) int { func isaddcon(v int64) bool {
/* uimm12 or uimm24? */ /* uimm12 or uimm24? */
if v < 0 { if v < 0 {
return 0 return false
} }
if (v & 0xFFF) == 0 { if (v & 0xFFF) == 0 {
v >>= 12 v >>= 12
} }
return obj.Bool2int(v <= 0xFFF) return v <= 0xFFF
} }
func isbitcon(v uint64) int { func isbitcon(v uint64) bool {
/* fancy bimm32 or bimm64? */ /* fancy bimm32 or bimm64? */
// TODO(aram): // TODO(aram):
return 0 return false
// return obj.Bool2int(findmask(v) != nil || (v>>32) == 0 && findmask(v|(v<<32)) != nil) // return findmask(v) != nil || (v>>32) == 0 && findmask(v|(v<<32)) != nil
} }
func autoclass(l int64) int { func autoclass(l int64) int {
@ -1007,11 +1007,11 @@ func aclass(ctxt *obj.Link, a *obj.Addr) int {
if v == 0 { if v == 0 {
return C_ZCON return C_ZCON
} }
if isaddcon(v) != 0 { if isaddcon(v) {
if v <= 0xFFF { if v <= 0xFFF {
return C_ADDCON0 return C_ADDCON0
} }
if isbitcon(uint64(v)) != 0 { if isbitcon(uint64(v)) {
return C_ABCON return C_ABCON
} }
return C_ADDCON return C_ADDCON
@ -1019,7 +1019,7 @@ func aclass(ctxt *obj.Link, a *obj.Addr) int {
t := movcon(v) t := movcon(v)
if t >= 0 { if t >= 0 {
if isbitcon(uint64(v)) != 0 { if isbitcon(uint64(v)) {
return C_MBCON return C_MBCON
} }
return C_MOVCON return C_MOVCON
@ -1027,13 +1027,13 @@ func aclass(ctxt *obj.Link, a *obj.Addr) int {
t = movcon(^v) t = movcon(^v)
if t >= 0 { if t >= 0 {
if isbitcon(uint64(v)) != 0 { if isbitcon(uint64(v)) {
return C_MBCON return C_MBCON
} }
return C_MOVCON return C_MOVCON
} }
if isbitcon(uint64(v)) != 0 { if isbitcon(uint64(v)) {
return C_BITCON return C_BITCON
} }
@ -1062,7 +1062,7 @@ func aclass(ctxt *obj.Link, a *obj.Addr) int {
return C_GOK return C_GOK
aconsize: aconsize:
if isaddcon(ctxt.Instoffset) != 0 { if isaddcon(ctxt.Instoffset) {
return C_AACON return C_AACON
} }
return C_LACON return C_LACON
@ -2182,14 +2182,14 @@ func asmout(ctxt *obj.Link, p *obj.Prog, o *Optab, out []uint32) {
case 24: /* mov/mvn Rs,Rd -> add $0,Rs,Rd or orr Rs,ZR,Rd */ case 24: /* mov/mvn Rs,Rd -> add $0,Rs,Rd or orr Rs,ZR,Rd */
rf := int(p.From.Reg) rf := int(p.From.Reg)
rt := int(p.To.Reg) rt := int(p.To.Reg)
s := obj.Bool2int(rf == REGSP || rt == REGSP) s := rf == REGSP || rt == REGSP
if p.As == AMVN || p.As == AMVNW { if p.As == AMVN || p.As == AMVNW {
if s != 0 { if s {
ctxt.Diag("illegal SP reference\n%v", p) ctxt.Diag("illegal SP reference\n%v", p)
} }
o1 = oprrr(ctxt, int(p.As)) o1 = oprrr(ctxt, int(p.As))
o1 |= (uint32(rf&31) << 16) | (REGZERO & 31 << 5) | uint32(rt&31) o1 |= (uint32(rf&31) << 16) | (REGZERO & 31 << 5) | uint32(rt&31)
} else if s != 0 { } else if s {
o1 = opirr(ctxt, int(p.As)) o1 = opirr(ctxt, int(p.As))
o1 |= (uint32(rf&31) << 5) | uint32(rt&31) o1 |= (uint32(rf&31) << 5) | uint32(rt&31)
} else { } else {