From: Jorropo Date: Sat, 25 Oct 2025 06:41:50 +0000 (+0200) Subject: cmd/compile: change !l.nonzero() into l.maybezero() X-Git-Tag: go1.26rc1~455 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=a0f33b2887;p=gostls13.git 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 LUCI-TryBot-Result: Go LUCI Auto-Submit: Jorropo Reviewed-by: Keith Randall Reviewed-by: Michael Knyszek --- diff --git a/src/cmd/compile/internal/ssa/prove.go b/src/cmd/compile/internal/ssa/prove.go index 5010fa3a6d..5a9e0a65c7 100644 --- a/src/cmd/compile/internal/ssa/prove.go +++ b/src/cmd/compile/internal/ssa/prove.go @@ -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)