]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: repair name propagation into aggregate parts
authorDavid Chase <drchase@google.com>
Tue, 24 Oct 2017 21:51:05 +0000 (17:51 -0400)
committerDavid Chase <drchase@google.com>
Sun, 5 Nov 2017 17:30:11 +0000 (17:30 +0000)
commit38c725b14830bc1a95eb48cfb04d5f4c6d916a28
tree0357eb78ef2d922316ebf514beadb0cc26cefeac
parentc4b65fa4cc4b799cad461779564af30dbf232f13
cmd/compile: repair name propagation into aggregate parts

For structs, slices, strings, interfaces, etc, propagation of
names to their components (e.g., complex.real, complex.imag)
is fragile (depends on phase ordering) and not done right
for the "dec" pass.

The dec pass is subsumed into decomposeBuiltin,
and then names are pushed into the args of all
OpFooMake opcodes.

compile/ssa/debug_test.go was fixed to pay attention to
variable values, and the reference files include checks
for the fixes in this CL (which make debugging better).

Change-Id: Ic2591ebb1698d78d07292b92c53667e6c37fa0cd
Reviewed-on: https://go-review.googlesource.com/73210
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
src/cmd/compile/internal/ssa/compile.go
src/cmd/compile/internal/ssa/debug_test.go
src/cmd/compile/internal/ssa/decompose.go
src/cmd/compile/internal/ssa/opt.go
src/cmd/compile/internal/ssa/testdata/hist.dbg-dlv.nexts
src/cmd/compile/internal/ssa/testdata/hist.dbg-gdb.nexts
src/cmd/compile/internal/ssa/testdata/hist.go
src/cmd/compile/internal/ssa/testdata/hist.opt-dlv.nexts
src/cmd/compile/internal/ssa/testdata/hist.opt-gdb.nexts