]> Cypherpunks repositories - gostls13.git/commitdiff
[release-branch.go1.20] Revert "cmd/compile: teach prove about bitwise OR operation"
authorKeith Randall <khr@golang.org>
Tue, 24 Jan 2023 16:11:06 +0000 (16:11 +0000)
committerGopher Robot <gobot@golang.org>
Wed, 25 Jan 2023 18:41:55 +0000 (18:41 +0000)
This reverts commit 3680b5e9c4f42fcf9155aa42b3b344d1fbe19571.

Reason for revert: causes long compile times on certain functions. See issue #57959

Change-Id: Ie9e881ca8abbc79a46de2bfeaed0b9d6c416ed42
Reviewed-on: https://go-review.googlesource.com/c/go/+/463295
Run-TryBot: Keith Randall <khr@golang.org>
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
(cherry picked from commit a6ddb15f8f5955d93eeb2f674ec564ffd4530c18)
Reviewed-on: https://go-review.googlesource.com/c/go/+/463415
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
Auto-Submit: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Keith Randall <khr@google.com>
src/cmd/compile/internal/ssa/prove.go
test/prove.go

index 908fb5af465e9b8db478d65b9008eb9347226ddf..9ecd335b6a06c28fc8123e58b30d3ab7370002c3 100644 (file)
@@ -856,9 +856,6 @@ func prove(f *Func) {
                        case OpAnd64, OpAnd32, OpAnd16, OpAnd8:
                                ft.update(b, v, v.Args[1], unsigned, lt|eq)
                                ft.update(b, v, v.Args[0], unsigned, lt|eq)
-                       case OpOr64, OpOr32, OpOr16, OpOr8:
-                               ft.update(b, v, v.Args[1], unsigned, gt|eq)
-                               ft.update(b, v, v.Args[0], unsigned, gt|eq)
                        case OpPhi:
                                // Determine the min and max value of OpPhi composed entirely of integer constants.
                                //
index 7792b432f964aa38653e8ac49b7b3961272543d9..c91fb26c04c1b33a0d2ca2ff8ab67d8c9acc0562 100644 (file)
@@ -1053,11 +1053,6 @@ func issue51622(b []byte) int {
        return 0
 }
 
-func issue45928(x int) {
-       combinedFrac := (x) / (x | (1 << 31)) // ERROR "Proved Neq64$"
-       useInt(combinedFrac)
-}
-
 //go:noinline
 func useInt(a int) {
 }