]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.ssa] cmd/compile/ssa: improve comments, logging, and debug output
authorJosh Bleecher Snyder <josharian@gmail.com>
Tue, 23 Jun 2015 23:44:06 +0000 (16:44 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Wed, 24 Jun 2015 20:44:57 +0000 (20:44 +0000)
Change-Id: Id949db82ddaf802c1aa245a337081d4d46fd914f
Reviewed-on: https://go-review.googlesource.com/11380
Reviewed-by: Alan Donovan <adonovan@google.com>
src/cmd/compile/internal/ssa/cse.go
src/cmd/compile/internal/ssa/value.go

index 403c8451521655c8b69e7a9362fb5fda458cf537..7a1cf53ccb7ed1ac6d1c52514f5131e2a8baddef 100644 (file)
@@ -15,6 +15,7 @@ func cse(f *Func) {
        //   v.op == w.op
        //   v.type == w.type
        //   v.aux == w.aux
+       //   v.auxint == w.auxint
        //   len(v.args) == len(w.args)
        //   equivalent(v.args[i], w.args[i]) for i in 0..len(v.args)-1
 
@@ -23,7 +24,7 @@ func cse(f *Func) {
        // It starts with a coarse partition and iteratively refines it
        // 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.
        // For example, all pointer types are distinct. Fix this.
        // As a data point, using v.Type.String() instead of
index bfba8dc3695e6522de0abe3ab69690fbc0210cf6..ef10fb20cd62dc16daad43608eb84dc4533d5064 100644 (file)
@@ -59,7 +59,11 @@ func (v *Value) LongString() string {
                s += fmt.Sprintf(" [%d]", v.AuxInt)
        }
        if v.Aux != nil {
-               s += fmt.Sprintf(" {%v}", v.Aux)
+               if _, ok := v.Aux.(string); ok {
+                       s += fmt.Sprintf(" {%q}", v.Aux)
+               } else {
+                       s += fmt.Sprintf(" {%v}", v.Aux)
+               }
        }
        for _, a := range v.Args {
                s += fmt.Sprintf(" %v", a)