]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: change !l.nonzero() into l.maybezero()
authorJorropo <jorropo.pgm@gmail.com>
Sat, 25 Oct 2025 06:41:50 +0000 (08:41 +0200)
committerGopher Robot <gobot@golang.org>
Tue, 28 Oct 2025 02:07:57 +0000 (19:07 -0700)
  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>
src/cmd/compile/internal/ssa/prove.go

index 5010fa3a6d352997b381f5a21cf22ea771243683..5a9e0a65c736ba5c17ebf409d2071a1cf7f1e174 100644 (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)