]> Cypherpunks repositories - gostls13.git/commit
[dev.ssa] cmd/compile: Use varkill only for non-SSAable vars
authorKeith Randall <khr@golang.org>
Sat, 19 Sep 2015 19:01:39 +0000 (12:01 -0700)
committerKeith Randall <khr@golang.org>
Sun, 20 Sep 2015 07:10:05 +0000 (07:10 +0000)
commitd29e92be523efd8270c0e7ca0eaa6afa86bbedca
tree1e3d4fc7bad664b3d8bc441f1966dd09be116be5
parent37590bddc417c2675f4979a9467edc1961f88b61
[dev.ssa] cmd/compile: Use varkill only for non-SSAable vars

For variables which get SSA'd, SSA keeps track of all the def/kill.
It is only for on-stack variables that we need them.

This reduces stack frame sizes significantly because often the
only use of a variable was a varkill, and without that last use
the variable doesn't get allocated in the frame at all.

Fixes #12602

Change-Id: I3f00a768aa5ddd8d7772f375b25f846086a3e689
Reviewed-on: https://go-review.googlesource.com/14758
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/cmd/compile/internal/gc/ssa.go
src/cmd/internal/obj/stack.go
src/runtime/stack2.go
test/nosplit.go