From a0f33b28878817546fa6233f9701672482e39834 Mon Sep 17 00:00:00 2001 From: Jorropo Date: Sat, 25 Oct 2025 08:41:50 +0200 Subject: [PATCH] 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 --- src/cmd/compile/internal/ssa/prove.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) 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) -- 2.52.0