aboutsummaryrefslogtreecommitdiff
path: root/test/live2.go
diff options
context:
space:
mode:
authorDavid Chase <drchase@google.com>2016-10-28 13:33:57 -0400
committerDavid Chase <drchase@google.com>2016-10-31 19:38:50 +0000
commit9c066bab643a0224decdd71813096e0d1df0624c (patch)
tree9e7ff445d12d53a581f5f1306510e9bb5e879893 /test/live2.go
parenteec1e5d9c6d00fc493714a09b71e2bca2d7e7fa4 (diff)
downloadgo-9c066bab643a0224decdd71813096e0d1df0624c.tar.gz
go-9c066bab643a0224decdd71813096e0d1df0624c.zip
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>
Diffstat (limited to 'test/live2.go')
-rw-r--r--test/live2.go10
1 files changed, 5 insertions, 5 deletions
diff --git a/test/live2.go b/test/live2.go
index 4ae60cdf3a..6138d369c9 100644
--- a/test/live2.go
+++ b/test/live2.go
@@ -20,20 +20,20 @@ type T40 struct {
func newT40() *T40 {
ret := T40{}
- ret.m = make(map[int]int) // ERROR "live at call to makemap: &ret"
+ ret.m = make(map[int]int) // ERROR "live at call to makemap: &ret$"
return &ret
}
func bad40() {
- t := newT40() // ERROR "live at call to makemap: autotmp_.* ret"
- printnl() // ERROR "live at call to printnl: autotmp_.* ret"
+ t := newT40() // ERROR "live at call to makemap: .autotmp_[0-9]+ ret$"
+ printnl() // ERROR "live at call to printnl: .autotmp_[0-9]+ ret$"
_ = t
}
func good40() {
ret := T40{}
- ret.m = make(map[int]int) // ERROR "live at call to makemap: autotmp_.* ret"
+ ret.m = make(map[int]int) // ERROR "live at call to makemap: .autotmp_[0-9]+ ret$"
t := &ret
- printnl() // ERROR "live at call to printnl: autotmp_.* ret"
+ printnl() // ERROR "live at call to printnl: .autotmp_[0-9]+ ret$"
_ = t
}