Commit d779b20c authored by Josh Bleecher Snyder's avatar Josh Bleecher Snyder

[dev.ssa] cmd/compile/ssa: improve comments, logging, and debug output

Change-Id: Id949db82ddaf802c1aa245a337081d4d46fd914f
Reviewed-on: https://go-review.googlesource.com/11380Reviewed-by: 's avatarAlan Donovan <adonovan@google.com>
parent 44be0e9c
...@@ -15,6 +15,7 @@ func cse(f *Func) { ...@@ -15,6 +15,7 @@ func cse(f *Func) {
// v.op == w.op // v.op == w.op
// v.type == w.type // v.type == w.type
// v.aux == w.aux // v.aux == w.aux
// v.auxint == w.auxint
// len(v.args) == len(w.args) // len(v.args) == len(w.args)
// equivalent(v.args[i], w.args[i]) for i in 0..len(v.args)-1 // equivalent(v.args[i], w.args[i]) for i in 0..len(v.args)-1
...@@ -23,7 +24,7 @@ func cse(f *Func) { ...@@ -23,7 +24,7 @@ func cse(f *Func) {
// It starts with a coarse partition and iteratively refines it // It starts with a coarse partition and iteratively refines it
// until it reaches a fixed point. // until it reaches a fixed point.
// Make initial partition based on opcode/type/aux/nargs // Make initial partition based on opcode/type/aux/auxint/nargs
// TODO(khr): types are not canonical, so we split unnecessarily. // TODO(khr): types are not canonical, so we split unnecessarily.
// For example, all pointer types are distinct. Fix this. // For example, all pointer types are distinct. Fix this.
// As a data point, using v.Type.String() instead of // As a data point, using v.Type.String() instead of
......
...@@ -59,8 +59,12 @@ func (v *Value) LongString() string { ...@@ -59,8 +59,12 @@ func (v *Value) LongString() string {
s += fmt.Sprintf(" [%d]", v.AuxInt) s += fmt.Sprintf(" [%d]", v.AuxInt)
} }
if v.Aux != nil { if v.Aux != nil {
if _, ok := v.Aux.(string); ok {
s += fmt.Sprintf(" {%q}", v.Aux)
} else {
s += fmt.Sprintf(" {%v}", v.Aux) s += fmt.Sprintf(" {%v}", v.Aux)
} }
}
for _, a := range v.Args { for _, a := range v.Args {
s += fmt.Sprintf(" %v", a) s += fmt.Sprintf(" %v", a)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment