go/test/fixedbugs/issue48026.go
Cuong Manh Le 6df3aac4ae cmd/compile: fix offset-generator for storeOneLoad
storeOneLoad decompose Load that is then stored, the offset value must
be created on the same block with the Load to be dominated, otherwise,
it's unsafe if one does not dominate the other.

Fixes #48026

Change-Id: Iee5e6c5d3e1b09862afe4e65f7bcd771b4c57367
Reviewed-on: https://go-review.googlesource.com/c/go/+/345434
Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
2021-08-28 17:05:43 +00:00

27 lines
466 B
Go

// compile -d=ssa/check/on
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package p
var i int
type t struct {
a, b, c, d, e int
}
func f(p t, q int) int {
var a, b, c, d, e, f, g int
var h, i, j, k, l, m int
_, _, _, _, _, _, _ = a, b, c, d, e, f, g
_, _, _, _, _, _ = h, i, j, k, l, m
return 0
}
func g() int {
var v t
return f(v, 1<<i)
}