mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
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>
This commit is contained in:
parent
eec1e5d9c6
commit
9c066bab64
14 changed files with 125 additions and 118 deletions
|
|
@ -422,6 +422,9 @@ func compile(fn *Node) {
|
|||
}
|
||||
fallthrough
|
||||
case PPARAM, PPARAMOUT:
|
||||
if n.IsAutoTmp() { // skip debugging info for temporaries
|
||||
continue
|
||||
}
|
||||
p := Gins(obj.ATYPE, n, nil)
|
||||
p.From.Sym = obj.Linklookup(Ctxt, n.Sym.Name, 0)
|
||||
p.To.Type = obj.TYPE_MEM
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue