aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/ssa/compile.go
diff options
context:
space:
mode:
authorDavid Chase <drchase@google.com>2017-10-24 17:51:05 -0400
committerDavid Chase <drchase@google.com>2017-11-05 17:30:11 +0000
commit38c725b14830bc1a95eb48cfb04d5f4c6d916a28 (patch)
tree0357eb78ef2d922316ebf514beadb0cc26cefeac /src/cmd/compile/internal/ssa/compile.go
parentc4b65fa4cc4b799cad461779564af30dbf232f13 (diff)
downloadgo-38c725b14830bc1a95eb48cfb04d5f4c6d916a28.tar.gz
go-38c725b14830bc1a95eb48cfb04d5f4c6d916a28.zip
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>
Diffstat (limited to 'src/cmd/compile/internal/ssa/compile.go')
-rw-r--r--src/cmd/compile/internal/ssa/compile.go1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/ssa/compile.go b/src/cmd/compile/internal/ssa/compile.go
index 00a4b04ce5..608037db74 100644
--- a/src/cmd/compile/internal/ssa/compile.go
+++ b/src/cmd/compile/internal/ssa/compile.go
@@ -344,7 +344,6 @@ var passes = [...]pass{
{name: "prove", fn: prove},
{name: "loopbce", fn: loopbce},
{name: "decompose builtin", fn: decomposeBuiltIn, required: true},
- {name: "dec", fn: dec, required: true},
{name: "late opt", fn: opt, required: true}, // TODO: split required rules and optimizing rules
{name: "generic deadcode", fn: deadcode},
{name: "check bce", fn: checkbce},