]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/compile: mark temps with new AutoTemp flag, and use it.
authorDavid Chase <drchase@google.com>
Fri, 28 Oct 2016 17:33:57 +0000 (13:33 -0400)
committerDavid Chase <drchase@google.com>
Mon, 31 Oct 2016 19:38:50 +0000 (19:38 +0000)
commit9c066bab643a0224decdd71813096e0d1df0624c
tree9e7ff445d12d53a581f5f1306510e9bb5e879893
parenteec1e5d9c6d00fc493714a09b71e2bca2d7e7fa4
cmd/compile: mark temps with new AutoTemp flag, and use it.

This is an extension of
https://go-review.googlesource.com/c/31662/
to mark all the temporaries, not just the ssa-generated ones.

Before-and-after ls -l `go tool -n compile` shows a 3%
reduction in size (or rather, a prior 3% inflation for
failing to filter temps out properly.)

Replaced name-dependent "is it a temp?" tests with calls to
*Node.IsAutoTmp(), which depends on AutoTemp.  Also replace
calls to istemp(n) with n.IsAutoTmp(), to reduce duplication
and clean up function name space.  Generated temporaries
now come with a "." prefix to avoid (apparently harmless)
clashes with legal Go variable names.

Fixes #17644.
Fixes #17240.

Change-Id: If1417f29c79a7275d7303ddf859b51472890fd43
Reviewed-on: https://go-review.googlesource.com/32255
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
14 files changed:
src/cmd/compile/internal/gc/gen.go
src/cmd/compile/internal/gc/order.go
src/cmd/compile/internal/gc/pgen.go
src/cmd/compile/internal/gc/racewalk.go
src/cmd/compile/internal/gc/ssa.go
src/cmd/compile/internal/gc/syntax.go
src/cmd/compile/internal/gc/typecheck.go
src/cmd/compile/internal/gc/walk.go
src/cmd/internal/dwarf/dwarf.go
test/fixedbugs/issue15747.go
test/live.go
test/live2.go
test/live_syscall.go
test/uintptrescapes2.go