mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: eliminate dead code
During walkexpr, we were assessing whether shifts were bounded. However, that information was dropped on the floor during SSA conversion. The SSA backend already finds all bounded shifts that walkexpr could have, and at negligible extra cost (0.02% in alloc, CPU undetectable). Change-Id: Ieda1af1a2a3ec99bfdc2b0b704c9b80ce8a34486 Reviewed-on: https://go-review.googlesource.com/c/148897 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
4ae49b5921
commit
78c0e1f81d
1 changed files with 1 additions and 10 deletions
|
|
@ -486,7 +486,7 @@ opswitch:
|
|||
OIND, OSPTR, OITAB, OIDATA, OADDR:
|
||||
n.Left = walkexpr(n.Left, init)
|
||||
|
||||
case OEFACE, OAND, OSUB, OMUL, OADD, OOR, OXOR:
|
||||
case OEFACE, OAND, OSUB, OMUL, OADD, OOR, OXOR, OLSH, ORSH:
|
||||
n.Left = walkexpr(n.Left, init)
|
||||
n.Right = walkexpr(n.Right, init)
|
||||
|
||||
|
|
@ -538,15 +538,6 @@ opswitch:
|
|||
n.SetTypecheck(1)
|
||||
}
|
||||
|
||||
case OLSH, ORSH:
|
||||
n.Left = walkexpr(n.Left, init)
|
||||
n.Right = walkexpr(n.Right, init)
|
||||
t := n.Left.Type
|
||||
n.SetBounded(bounded(n.Right, 8*t.Width))
|
||||
if Debug['m'] != 0 && n.Bounded() && !Isconst(n.Right, CTINT) {
|
||||
Warn("shift bounds check elided")
|
||||
}
|
||||
|
||||
case OCOMPLEX:
|
||||
// Use results from call expression as arguments for complex.
|
||||
if n.Left == nil && n.Right == nil {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue