]> Cypherpunks.ru repositories - gostls13.git/commit
[dev.regabi] cmd/compile: late expansion of return values
authorDavid Chase <drchase@google.com>
Wed, 30 Dec 2020 03:44:30 +0000 (22:44 -0500)
committerDavid Chase <drchase@google.com>
Wed, 20 Jan 2021 19:57:48 +0000 (19:57 +0000)
commit92cb157cf3aa51d28e441dbb2b671795f22140f8
tree1ba6d33a55e396c0a1533f12382847ed9a59119e
parent9423d50d53f132d7d00f5126144736bfe65627b6
[dev.regabi] cmd/compile: late expansion of return values

By-hand rebase of earlier CL, because that was easier than
letting git try to figure things out.

This will naively insert self-moves; in the case that these
involve memory, the expander detects these and removes them
and their vardefs.

Change-Id: Icf72575eb7ae4a186b0de462bc8cf0bedc84d3e9
Reviewed-on: https://go-review.googlesource.com/c/go/+/279519
Trust: David Chase <drchase@google.com>
Reviewed-by: Jeremy Faller <jeremy@golang.org>
src/cmd/compile/internal/ir/fmt.go
src/cmd/compile/internal/ssa/expand_calls.go
src/cmd/compile/internal/ssa/func.go
src/cmd/compile/internal/ssa/op.go
src/cmd/compile/internal/ssagen/ssa.go