mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: unwrap fewer CONVNOPs in staticassign
staticassign unwraps all CONVNOPs. However, in the included test, we need the CONVNOP for everything to typecheck. Stop unwrapping unnecessarily. The code we generate for this example is suboptimal, but that's not new; see #17113. Fixes #17111. Change-Id: I29532787a074a6fe19a5cc53271eb9c84bf1b576 Reviewed-on: https://go-review.googlesource.com/29213 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
parent
d7012ca282
commit
df2b63f09b
2 changed files with 17 additions and 1 deletions
|
|
@ -286,7 +286,7 @@ func staticcopy(l *Node, r *Node, out *[]*Node) bool {
|
|||
orig := r
|
||||
r = r.Name.Defn.Right
|
||||
|
||||
for r.Op == OCONVNOP {
|
||||
for r.Op == OCONVNOP && !Eqtype(r.Type, l.Type) {
|
||||
r = r.Left
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue