From a6ddb15f8f5955d93eeb2f674ec564ffd4530c18 Mon Sep 17 00:00:00 2001 From: Keith Randall Date: Tue, 24 Jan 2023 16:11:06 +0000 Subject: [PATCH] Revert "cmd/compile: teach prove about bitwise OR operation" 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 Reviewed-by: David Chase Reviewed-by: Cherry Mui TryBot-Result: Gopher Robot Reviewed-by: Cuong Manh Le --- src/cmd/compile/internal/ssa/prove.go | 3 --- test/prove.go | 5 ----- 2 files changed, 8 deletions(-) diff --git a/src/cmd/compile/internal/ssa/prove.go b/src/cmd/compile/internal/ssa/prove.go index 89098e411b..26a349997e 100644 --- a/src/cmd/compile/internal/ssa/prove.go +++ b/src/cmd/compile/internal/ssa/prove.go @@ -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 OpDiv64u, OpDiv32u, OpDiv16u, OpDiv8u, OpRsh8Ux64, OpRsh8Ux32, OpRsh8Ux16, OpRsh8Ux8, OpRsh16Ux64, OpRsh16Ux32, OpRsh16Ux16, OpRsh16Ux8, diff --git a/test/prove.go b/test/prove.go index ab893099bf..cf225ff38e 100644 --- a/test/prove.go +++ b/test/prove.go @@ -1092,11 +1092,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) { } -- 2.50.0