cmd/compile/internal/gc: skip autotmp vars in gc again

Instead of skipping them based on string matching much later in the
compilation process, skip them up front using the proper API.

Passes toolstash-check.

Change-Id: Ibd4c0448a0701ba0de3235d4689ef300235fa1d9
Reviewed-on: https://go-review.googlesource.com/37930
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Matthew Dempsky 2017-03-07 10:57:55 -08:00
parent b1a4424a52
commit 527f3518da
2 changed files with 5 additions and 7 deletions

View file

@ -478,6 +478,10 @@ func debuginfo(fnsym *obj.LSym) []*dwarf.Var {
Gotype: gotype,
})
if n.IsAutoTmp() {
continue
}
typename := dwarf.InfoPrefix + gotype.Name[len("type."):]
vars = append(vars, &dwarf.Var{
Name: n.Sym.Name,

View file

@ -7,10 +7,7 @@
// this package contains the shared code.
package dwarf
import (
"fmt"
"strings"
)
import "fmt"
// InfoPrefix is the prefix for all the symbols containing DWARF info entries.
const InfoPrefix = "go.info."
@ -576,9 +573,6 @@ func PutFunc(ctxt Context, s Sym, name string, external bool, startPC Sym, size
putattr(ctxt, s, DW_ABRV_FUNCTION, DW_FORM_flag, DW_CLS_FLAG, ev, 0)
names := make(map[string]bool)
for _, v := range vars {
if strings.Contains(v.Name, ".autotmp_") {
continue
}
var n string
if names[v.Name] {
n = fmt.Sprintf("%s#%d", v.Name, len(names))