mirror of
https://github.com/golang/go.git
synced 2025-10-20 11:33:18 +00:00
cmd/compile: run fmt on ssa
prove.go used to make my editor and precomit checks very unhappy. Change-Id: I25f7ffa2191480bc1b4f91fa91ccf3e4768045fa Reviewed-on: https://go-review.googlesource.com/c/go/+/685818 Reviewed-by: Carlos Amedee <carlos@golang.org> Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Keith Randall <khr@golang.org> Auto-Submit: Keith Randall <khr@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This commit is contained in:
parent
86b5ba7310
commit
a5bda585d5
1 changed files with 12 additions and 5 deletions
|
@ -1917,15 +1917,22 @@ func (ft *factsTable) flowLimit(v *Value) bool {
|
||||||
|
|
||||||
// See if we can get any facts because v is the result of signed mod by a constant.
|
// See if we can get any facts because v is the result of signed mod by a constant.
|
||||||
// The mod operation has already been rewritten, so we have to try and reconstruct it.
|
// The mod operation has already been rewritten, so we have to try and reconstruct it.
|
||||||
// x % d
|
//
|
||||||
|
// x % d
|
||||||
|
//
|
||||||
// is rewritten as
|
// is rewritten as
|
||||||
// x - (x / d) * d
|
//
|
||||||
|
// x - (x / d) * d
|
||||||
|
//
|
||||||
// furthermore, the divide itself gets rewritten. If d is a power of 2 (d == 1<<k), we do
|
// furthermore, the divide itself gets rewritten. If d is a power of 2 (d == 1<<k), we do
|
||||||
// (x / d) * d = ((x + adj) >> k) << k
|
//
|
||||||
// = (x + adj) & (-1<<k)
|
// (x / d) * d = ((x + adj) >> k) << k
|
||||||
|
// = (x + adj) & (-1<<k)
|
||||||
|
//
|
||||||
// with adj being an adjustment in case x is negative (see below).
|
// with adj being an adjustment in case x is negative (see below).
|
||||||
// if d is not a power of 2, we do
|
// if d is not a power of 2, we do
|
||||||
// x / d = ... TODO ...
|
//
|
||||||
|
// x / d = ... TODO ...
|
||||||
func (ft *factsTable) detectSignedMod(v *Value) bool {
|
func (ft *factsTable) detectSignedMod(v *Value) bool {
|
||||||
if ft.detectSignedModByPowerOfTwo(v) {
|
if ft.detectSignedModByPowerOfTwo(v) {
|
||||||
return true
|
return true
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue