1
0
mirror of https://github.com/golang/go synced 2024-11-12 09:20:22 -07:00

cmd/compile: use AuxInt to store shift boundedness

Fixes ssacheck build.

Change-Id: Idf1d2ea9a971a1f17f2fca568099e870bb5d913f
Reviewed-on: https://go-review.googlesource.com/110122
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
This commit is contained in:
Josh Bleecher Snyder 2018-04-29 17:40:47 -07:00 committed by Austin Clements
parent af5143e384
commit 743fd9171f
2 changed files with 2 additions and 2 deletions

View File

@ -994,7 +994,7 @@ func simplifyBlock(sdom SparseTree, ft *factsTable, b *Block) {
}
bits := 8 * v.Args[0].Type.Size()
if lim.umax < uint64(bits) || (lim.max < bits && ft.isNonNegative(by)) {
v.Aux = true
v.AuxInt = 1 // see shiftIsBounded
if b.Func.pass.debug > 0 {
b.Func.Warnl(v.Pos, "Proved %v bounded", v.Op)
}

View File

@ -393,7 +393,7 @@ func b2i(b bool) int64 {
// shiftIsBounded reports whether (left/right) shift Value v is known to be bounded.
// A shift is bounded if it is shifting by less than the width of the shifted value.
func shiftIsBounded(v *Value) bool {
return v.Aux != nil && v.Aux.(bool)
return v.AuxInt != 0
}
// i2f is used in rules for converting from an AuxInt to a float.