mirror of
https://github.com/golang/go
synced 2024-10-05 11:41:22 -06:00
[dev.ssa] cmd/compile: fix printing of live information
SSA generates ACALL assembly with the target in a *Sym. The old compiler generates both that *Sym and a *Node. Use the *Sym to print the live info so it works with both compilers. Change-Id: I0b12a161f83e76638604358c21b9f5abb31ce950 Reviewed-on: https://go-review.googlesource.com/16432 Run-TryBot: Keith Randall <khr@golang.org> Reviewed-by: David Chase <drchase@google.com>
This commit is contained in:
parent
18559e2da7
commit
e514021153
@ -19,6 +19,7 @@ import (
|
||||
"cmd/internal/obj"
|
||||
"fmt"
|
||||
"sort"
|
||||
"strings"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -1393,8 +1394,13 @@ func livenessepilogue(lv *Liveness) {
|
||||
if msg != nil {
|
||||
fmt_ = ""
|
||||
fmt_ += fmt.Sprintf("%v: live at ", p.Line())
|
||||
if p.As == obj.ACALL && p.To.Node != nil {
|
||||
fmt_ += fmt.Sprintf("call to %s:", ((p.To.Node).(*Node)).Sym.Name)
|
||||
if p.As == obj.ACALL && p.To.Sym != nil {
|
||||
name := p.To.Sym.Name
|
||||
i := strings.Index(name, ".")
|
||||
if i >= 0 {
|
||||
name = name[i+1:]
|
||||
}
|
||||
fmt_ += fmt.Sprintf("call to %s:", name)
|
||||
} else if p.As == obj.ACALL {
|
||||
fmt_ += "indirect call:"
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user