]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: avoid generating CSEs; do all aggregates; maintain debug names
authorDavid Chase <drchase@google.com>
Mon, 17 Aug 2020 20:57:22 +0000 (16:57 -0400)
committerDavid Chase <drchase@google.com>
Fri, 23 Oct 2020 18:02:16 +0000 (18:02 +0000)
commitc3fe874f25ff55f73e4422bea7aa0b0e0e268f3e
tree2c0c9185cbabc515fce9e8471ee4282bf2c10a7f
parentad642727247383079c8546ca365172859641a800
cmd/compile: avoid generating CSEs; do all aggregates; maintain debug names

This adds a pass to detect common selection operations,
to avoid generating duplicates.  Duplicate offsets are
also detected.

All aggregate types are now handled; there is some freedom in where
expand_calls is run, though it must run before softfloat.

Debug-name-maintenance is now incremental both in decompose builtin
and in expand_calls; it might be good to push this into all the
decompose passes.

(this is a smash of 5 CLs that rewrote some of the same code several
times to deal with phase-ordering problems, and included an abandoned
attempt.)

For #40724.

Change-Id: I2a0c32f20660bf8b99e2bcecd33545d97d2bd3c6
Reviewed-on: https://go-review.googlesource.com/c/go/+/249458
Trust: David Chase <drchase@google.com>
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/cmd/compile/fmtmap_test.go
src/cmd/compile/internal/gc/ssa.go
src/cmd/compile/internal/ssa/compile.go
src/cmd/compile/internal/ssa/config.go
src/cmd/compile/internal/ssa/decompose.go
src/cmd/compile/internal/ssa/expand_calls.go
src/cmd/compile/internal/ssa/export_test.go
src/cmd/compile/internal/ssa/gen/dec64.rules
src/cmd/compile/internal/ssa/rewritedec64.go