mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: eliminate stores to unread auto variables
This is a crude compiler pass to eliminate stores to auto variables
that are only ever written to.
Eliminates an unnecessary store to x from the following code:
func f() int {
var x := 1
return *(&x)
}
Fixes #19765.
Change-Id: If2c63a8ae67b8c590b6e0cc98a9610939a3eeffa
Reviewed-on: https://go-review.googlesource.com/38746
Run-TryBot: Michael Munday <mike.munday@ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
parent
18b48afec9
commit
744ebfde04
8 changed files with 158 additions and 23 deletions
|
|
@ -84,7 +84,7 @@ func main() {
|
|||
slicevar := make([]string, 0, 16)
|
||||
slicevar = append(slicevar, mapvar["abc"])
|
||||
fmt.Println("hi") // line 13
|
||||
_ = ptrvar
|
||||
runtime.KeepAlive(ptrvar)
|
||||
gslice = slicevar
|
||||
runtime.KeepAlive(mapvar)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue