]> Cypherpunks repositories - gostls13.git/commit
[dev.ssa] cmd/compile: make sure we don't move loads between blocks
authorKeith Randall <khr@golang.org>
Fri, 9 Oct 2015 16:33:29 +0000 (09:33 -0700)
committerKeith Randall <khr@golang.org>
Fri, 9 Oct 2015 18:10:19 +0000 (18:10 +0000)
commit9703564c9aaa037b95b6dcbdefe0fa505710c4ff
tree5bc3e943630ef4b13ceb43be8f0e3d4bda52c643
parent32ffbf7e0f1e79b28eb7da7bc21ab7ce478ef3ef
[dev.ssa] cmd/compile: make sure we don't move loads between blocks

This can lead to multiple stores being live at once.

Do OINDEX and ODOT using addresses & loads instead of specific ops.
This keeps SSA values from containing unSSAable types.

Change-Id: I79567e9d43cdee09084eb89ea0bd7aa3aad48ada
Reviewed-on: https://go-review.googlesource.com/15654
Run-TryBot: Keith Randall <khr@golang.org>
Reviewed-by: David Chase <drchase@google.com>
src/cmd/compile/internal/gc/ssa.go
src/cmd/compile/internal/ssa/gen/generic.rules
src/cmd/compile/internal/ssa/rewritegeneric.go