cmd/compile: change !l.nonzero() into l.maybezero()

if l.maybezero()
is easier to read than
  if !l.nonzero()

Change-Id: I1183b0c0dc51fa1eed26dfc7a5a996783806a991
Reviewed-on: https://go-review.googlesource.com/c/go/+/714621
Reviewed-by: Keith Randall <khr@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Jorropo <jorropo.pgm@gmail.com>
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
This commit is contained in:
Jorropo 2025-10-25 08:41:50 +02:00 committed by Gopher Robot
parent 5453b788fd
commit a0f33b2887

View file

@ -171,6 +171,9 @@ func (l limit) unsignedMinMax(minimum, maximum uint64) limit {
func (l limit) nonzero() bool {
return l.min > 0 || l.umin > 0 || l.max < 0
}
func (l limit) maybeZero() bool {
return !l.nonzero()
}
func (l limit) nonnegative() bool {
return l.min >= 0
}
@ -2403,40 +2406,40 @@ func addLocalFacts(ft *factsTable, b *Block) {
y := ft.limits[v.Args[1].ID]
if !unsignedAddOverflows(x.umax, y.umax, v.Type) {
r := gt
if !x.nonzero() {
if x.maybeZero() {
r |= eq
}
ft.update(b, v, v.Args[1], unsigned, r)
r = gt
if !y.nonzero() {
if y.maybeZero() {
r |= eq
}
ft.update(b, v, v.Args[0], unsigned, r)
}
if x.min >= 0 && !signedAddOverflowsOrUnderflows(x.max, y.max, v.Type) {
r := gt
if !x.nonzero() {
if x.maybeZero() {
r |= eq
}
ft.update(b, v, v.Args[1], signed, r)
}
if y.min >= 0 && !signedAddOverflowsOrUnderflows(x.max, y.max, v.Type) {
r := gt
if !y.nonzero() {
if y.maybeZero() {
r |= eq
}
ft.update(b, v, v.Args[0], signed, r)
}
if x.max <= 0 && !signedAddOverflowsOrUnderflows(x.min, y.min, v.Type) {
r := lt
if !x.nonzero() {
if x.maybeZero() {
r |= eq
}
ft.update(b, v, v.Args[1], signed, r)
}
if y.max <= 0 && !signedAddOverflowsOrUnderflows(x.min, y.min, v.Type) {
r := lt
if !y.nonzero() {
if y.maybeZero() {
r |= eq
}
ft.update(b, v, v.Args[0], signed, r)
@ -2446,7 +2449,7 @@ func addLocalFacts(ft *factsTable, b *Block) {
y := ft.limits[v.Args[1].ID]
if !unsignedSubUnderflows(x.umin, y.umax) {
r := lt
if !y.nonzero() {
if y.maybeZero() {
r |= eq
}
ft.update(b, v, v.Args[0], unsigned, r)