diff options
author | David Chase <drchase@google.com> | 2017-10-24 17:51:05 -0400 |
---|---|---|
committer | David Chase <drchase@google.com> | 2017-11-05 17:30:11 +0000 |
commit | 38c725b14830bc1a95eb48cfb04d5f4c6d916a28 (patch) | |
tree | 0357eb78ef2d922316ebf514beadb0cc26cefeac /src/cmd/compile/internal/ssa/compile.go | |
parent | c4b65fa4cc4b799cad461779564af30dbf232f13 (diff) | |
download | go-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.go | 1 |
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}, |