]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/compile: fix missing init nodes for len(string([]byte)) optimization
authorCuong Manh Le <cuong.manhle.vn@gmail.com>
Sat, 5 Aug 2023 15:51:49 +0000 (22:51 +0700)
committerGopher Robot <gobot@golang.org>
Mon, 7 Aug 2023 03:12:29 +0000 (03:12 +0000)
commitea565f156b6c789cab058437f902950bd98e1b7f
tree819d4d8c5dcd1ff4d61c403ea13b6219c319ea3b
parent41981930354fdc7bbb59950ce8f303939396b211
cmd/compile: fix missing init nodes for len(string([]byte)) optimization

CL 497276 added optimization for len(string([]byte)) by avoiding call to
slicebytetostring. However, the bytes to string expression may contain
init nodes, which need to be preserved. Otherwise, it would make the
liveness analysis confusing about the lifetime of temporary variables
created by init nodes.

Fixes #61778

Change-Id: I6d1280a7d61bcc75f11132af41bda086f084ab54
Reviewed-on: https://go-review.googlesource.com/c/go/+/516375
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
src/cmd/compile/internal/walk/builtin.go
test/fixedbugs/issue61778.go [new file with mode: 0644]